mbox series

[v2,0/5] soc: qcom: fix rpm_requests module probing

Message ID 20240729-fix-smd-rpm-v2-0-0776408a94c5@linaro.org
Headers show
Series soc: qcom: fix rpm_requests module probing | expand

Message

Dmitry Baryshkov July 29, 2024, 7:52 p.m. UTC
The GLINK RPMSG channels get modalias based on the compatible string
rather than the channel type, however the smd-rpm module uses rpmsg ID
instead. Thus if the smd-rpm is built as a module, it doesn't get
automatically loaded. Add generic compatible to such devices and fix
module's ID table.

Module loading worked before the commit bcabe1e09135 ("soc: qcom:
smd-rpm: Match rpmsg channel instead of compatible"), because the driver
listed all compatible strings, but the mentioned commit changed ID
table. Revert the offending commit and add generic compatible strings
instead.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v2:
- Separate fix from the improvements (Krzysztof
- Split the qcom,glink-smd-rpm compat from the qcom,smd-rpm as they use
  different channels underneath.
- Link to v1: https://lore.kernel.org/r/20240729-fix-smd-rpm-v1-0-99a96133cc65@linaro.org

---
Dmitry Baryshkov (5):
      Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible"
      dt-bindings: soc: qcom: smd-rpm: add generic compatibles
      soc: qcom: smd-rpm: add qcom,smd-rpm compatible
      ARM: dts: qcom: add generic compat string to RPM glink channels
      arm64: dts: qcom: add generic compat string to RPM glink channels

 .../devicetree/bindings/clock/qcom,rpmcc.yaml      |  2 +-
 .../bindings/remoteproc/qcom,glink-rpm-edge.yaml   |  2 +-
 .../bindings/remoteproc/qcom,rpm-proc.yaml         |  4 +-
 .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 74 ++++++++++------------
 .../devicetree/bindings/soc/qcom/qcom,smd.yaml     |  2 +-
 arch/arm/boot/dts/qcom/qcom-apq8084.dtsi           |  2 +-
 arch/arm/boot/dts/qcom/qcom-msm8226.dtsi           |  2 +-
 arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           |  2 +-
 arch/arm64/boot/dts/qcom/ipq6018.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/ipq9574.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8916.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8939.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8953.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8976.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8994.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8996.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8998.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/qcm2290.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/qcs404.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sdm630.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sm6115.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sm6125.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sm6375.dtsi               |  2 +-
 drivers/soc/qcom/smd-rpm.c                         | 41 +++++++++---
 24 files changed, 88 insertions(+), 73 deletions(-)
---
base-commit: 668d33c9ff922c4590c58754ab064aaf53c387dd
change-id: 20240729-fix-smd-rpm-9651e87a9bb0

Best regards,

Comments

Bjorn Andersson Aug. 15, 2024, 8:40 p.m. UTC | #1
On Mon, 29 Jul 2024 22:52:13 +0300, Dmitry Baryshkov wrote:
> The GLINK RPMSG channels get modalias based on the compatible string
> rather than the channel type, however the smd-rpm module uses rpmsg ID
> instead. Thus if the smd-rpm is built as a module, it doesn't get
> automatically loaded. Add generic compatible to such devices and fix
> module's ID table.
> 
> Module loading worked before the commit bcabe1e09135 ("soc: qcom:
> smd-rpm: Match rpmsg channel instead of compatible"), because the driver
> listed all compatible strings, but the mentioned commit changed ID
> table. Revert the offending commit and add generic compatible strings
> instead.
> 
> [...]

Applied, thanks!

[5/5] arm64: dts: qcom: add generic compat string to RPM glink channels
      commit: 0b7d94e9d15d90aa55468b3c7681558ad66c7279

Best regards,
Konrad Dybcio Aug. 29, 2024, 7:44 p.m. UTC | #2
On 29.07.2024 9:52 PM, Dmitry Baryshkov wrote:
> The rpm_requests device nodes have the compatible node. As such the
> rpmsg core uses OF modalias instead of a native rpmsg modalias. Thus if
> smd-rpm is built as a module, it doesn't get autoloaded for the device.
> 
> Revert the commit bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel
> instead of compatible")
> 
> Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
> Cc: stable@vger.kernel.org
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---

Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>

Konrad