diff options
author | Stephan Gerhold <stephan@gerhold.net> | 2022-02-28 23:53:59 +0100 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2022-03-11 20:21:56 -0600 |
commit | 59983c74fc42eb2448df693113bf725abbda05f9 (patch) | |
tree | a60ef92d130fd4a159b706014c7a192a99717a8a /include | |
parent | 358b586fb3bc308a23b284ab087de145b5344ccc (diff) | |
download | lwn-59983c74fc42eb2448df693113bf725abbda05f9.tar.gz lwn-59983c74fc42eb2448df693113bf725abbda05f9.zip |
remoteproc: qcom_q6v5_mss: Create platform device for BAM-DMUX
The modem remoteproc on older Qualcomm SoCs (e.g. MSM8916 and MSM8974)
implements the BAM-DMUX protocol to allow access to the network data
channels of the modem. The hardware/firmware resources required to
implement the BAM-DMUX driver are described in an extra node in the
device tree (with the compatible "qcom,bam-dmux").
This node logically belongs below the modem remoteproc, so that both
control interfaces (rpmsg_wwan_ctrl) and network interfaces (bam_dmux)
have a common parent.
Unlike other child devices of the modem remoteproc, the bam-dmux device
currently does not follow the state of the remoteproc (i.e. it is not
added/removed when the remoteproc is started/stopped). However, this is
an implementation detail of the bam_dmux driver in Linux that might
change in the future.
To be flexible for future changes, create a standard platform device
specifically only for "qcom,bam-dmux", rather than populating all child
nodes. This is also more consistent with the way the other child nodes
are handled in the driver.
Note: of_platform_device_create() and of_node_put() have NULL-checks
internally, so there is no need to check if the "qcom,bam-dmux" node
actually exists in the device tree.
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220228225400.146555-2-stephan@gerhold.net
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions