Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH 0/4] soc: qcom: fix rpm_requests module probing
@ 2024-07-29 11:04 Dmitry Baryshkov
  2024-07-29 11:04 ` [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible Dmitry Baryshkov
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 11:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

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. All patches in this series list this commit in the Fixes tags.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Dmitry Baryshkov (4):
      dt-bindings: soc: qcom: smd-rpm: add generic compatible
      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/soc/qcom/qcom,smd-rpm.yaml | 52 +++++++++++-----------
 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/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/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                         | 11 ++++-
 16 files changed, 51 insertions(+), 40 deletions(-)
---
base-commit: 668d33c9ff922c4590c58754ab064aaf53c387dd
change-id: 20240729-fix-smd-rpm-9651e87a9bb0

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible
  2024-07-29 11:04 [PATCH 0/4] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
@ 2024-07-29 11:04 ` Dmitry Baryshkov
  2024-07-29 12:23   ` Rob Herring (Arm)
  2024-07-29 15:01   ` Krzysztof Kozlowski
  2024-07-29 11:04 ` [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 11:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

Add generic compatible to all smd-rpm devices, they follow the same
RPMSG protocol.

Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 52 +++++++++++-----------
 1 file changed, 27 insertions(+), 25 deletions(-)

diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
index 2fa725b8af5d..6f70683f84d9 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
@@ -30,31 +30,33 @@ maintainers:
 
 properties:
   compatible:
-    enum:
-      - qcom,rpm-apq8084
-      - qcom,rpm-ipq6018
-      - qcom,rpm-ipq9574
-      - qcom,rpm-mdm9607
-      - qcom,rpm-msm8226
-      - qcom,rpm-msm8610
-      - qcom,rpm-msm8909
-      - qcom,rpm-msm8916
-      - qcom,rpm-msm8917
-      - qcom,rpm-msm8936
-      - qcom,rpm-msm8937
-      - qcom,rpm-msm8952
-      - qcom,rpm-msm8953
-      - qcom,rpm-msm8974
-      - qcom,rpm-msm8976
-      - qcom,rpm-msm8994
-      - qcom,rpm-msm8996
-      - qcom,rpm-msm8998
-      - qcom,rpm-qcm2290
-      - qcom,rpm-qcs404
-      - qcom,rpm-sdm660
-      - qcom,rpm-sm6115
-      - qcom,rpm-sm6125
-      - qcom,rpm-sm6375
+    items:
+      - enum:
+          - qcom,rpm-apq8084
+          - qcom,rpm-ipq6018
+          - qcom,rpm-ipq9574
+          - qcom,rpm-mdm9607
+          - qcom,rpm-msm8226
+          - qcom,rpm-msm8610
+          - qcom,rpm-msm8909
+          - qcom,rpm-msm8916
+          - qcom,rpm-msm8917
+          - qcom,rpm-msm8936
+          - qcom,rpm-msm8937
+          - qcom,rpm-msm8952
+          - qcom,rpm-msm8953
+          - qcom,rpm-msm8974
+          - qcom,rpm-msm8976
+          - qcom,rpm-msm8994
+          - qcom,rpm-msm8996
+          - qcom,rpm-msm8998
+          - qcom,rpm-qcm2290
+          - qcom,rpm-qcs404
+          - qcom,rpm-sdm660
+          - qcom,rpm-sm6115
+          - qcom,rpm-sm6125
+          - qcom,rpm-sm6375
+      - const: qcom,smd-rpm
 
   clock-controller:
     $ref: /schemas/clock/qcom,rpmcc.yaml#

-- 
2.39.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible
  2024-07-29 11:04 [PATCH 0/4] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
  2024-07-29 11:04 ` [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible Dmitry Baryshkov
@ 2024-07-29 11:04 ` Dmitry Baryshkov
  2024-07-29 15:04   ` Krzysztof Kozlowski
  2024-07-29 11:04 ` [PATCH 3/4] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
  2024-07-29 11:04 ` [PATCH 4/4] arm64: " Dmitry Baryshkov
  3 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 11:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

The device node has the compatible string, so the glink channel name
isn't used for modprobing. Add the qcom,smd-rpm compatible to let the
module be automatically loaded when required.

Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/soc/qcom/smd-rpm.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/qcom/smd-rpm.c b/drivers/soc/qcom/smd-rpm.c
index b7056aed4c7d..ad12cacf80ce 100644
--- a/drivers/soc/qcom/smd-rpm.c
+++ b/drivers/soc/qcom/smd-rpm.c
@@ -224,12 +224,21 @@ static const struct rpmsg_device_id qcom_smd_rpm_id_table[] = {
 };
 MODULE_DEVICE_TABLE(rpmsg, qcom_smd_rpm_id_table);
 
+static const struct of_device_id smd_rpm_of_match[] = {
+	{ .compatible = "qcom,smd-rpm" },
+	{ },
+};
+MODULE_DEVICE_TABLE(of, smd_rpm_of_match);
+
 static struct rpmsg_driver qcom_smd_rpm_driver = {
 	.probe = qcom_smd_rpm_probe,
 	.remove = qcom_smd_rpm_remove,
 	.callback = qcom_smd_rpm_callback,
 	.id_table = qcom_smd_rpm_id_table,
-	.drv.name = "qcom_smd_rpm",
+	.drv = {
+		.name = "qcom_smd_rpm",
+		.of_match_table = smd_rpm_of_match,
+	},
 };
 
 static int __init qcom_smd_rpm_init(void)

-- 
2.39.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/4] ARM: dts: qcom: add generic compat string to RPM glink channels
  2024-07-29 11:04 [PATCH 0/4] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
  2024-07-29 11:04 ` [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible Dmitry Baryshkov
  2024-07-29 11:04 ` [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
@ 2024-07-29 11:04 ` Dmitry Baryshkov
  2024-07-29 15:06   ` Krzysztof Kozlowski
  2024-07-29 11:04 ` [PATCH 4/4] arm64: " Dmitry Baryshkov
  3 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 11:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

Add the generic qcom,smd-rpm compatible to RPM nodes to follow the
schema (and to allow automatic driver loading in a sane way).

Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 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 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom/qcom-apq8084.dtsi
index 2b52e5d5eb51..014e6c5ee889 100644
--- a/arch/arm/boot/dts/qcom/qcom-apq8084.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-apq8084.dtsi
@@ -792,7 +792,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm-requests {
-				compatible = "qcom,rpm-apq8084";
+				compatible = "qcom,rpm-apq8084", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				regulators-0 {
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi
index b2f92ad6499a..2ea3b4a94d50 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8226.dtsi
@@ -125,7 +125,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8226";
+				compatible = "qcom,rpm-msm8226", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8974.dtsi
index 15568579459a..4a694bfa4732 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8974.dtsi
@@ -136,7 +136,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8974";
+				compatible = "qcom,rpm-msm8974", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {

-- 
2.39.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/4] arm64: dts: qcom: add generic compat string to RPM glink channels
  2024-07-29 11:04 [PATCH 0/4] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2024-07-29 11:04 ` [PATCH 3/4] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
@ 2024-07-29 11:04 ` Dmitry Baryshkov
  3 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 11:04 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

Add the generic qcom,smd-rpm compatible to RPM nodes to follow the
schema (and to allow automatic driver loading in a sane way).

Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 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/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 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 7383bcc603ab..0ee44706b70b 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -312,7 +312,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8916";
+				compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/msm8939.dtsi b/arch/arm64/boot/dts/qcom/msm8939.dtsi
index 46d9480cd464..28634789a8a9 100644
--- a/arch/arm64/boot/dts/qcom/msm8939.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8939.dtsi
@@ -252,7 +252,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8936";
+				compatible = "qcom,rpm-msm8936", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi
index a4bfb624fb8a..d20fd3d7c46e 100644
--- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
@@ -199,7 +199,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8953";
+				compatible = "qcom,rpm-msm8953", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/msm8976.dtsi b/arch/arm64/boot/dts/qcom/msm8976.dtsi
index d62dcb76fa48..c76cab9174be 100644
--- a/arch/arm64/boot/dts/qcom/msm8976.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8976.dtsi
@@ -247,7 +247,7 @@ smd-edge {
 			qcom,smd-edge = <15>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8976";
+				compatible = "qcom,rpm-msm8976", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
index 917fa246857d..fc2a7f13f690 100644
--- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
@@ -188,7 +188,7 @@ smd-edge {
 			qcom,remote-pid = <6>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8994";
+				compatible = "qcom,rpm-msm8994", "qcom,smd-rpm";
 				qcom,smd-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 0fd2b1b944a5..f8de9bafcc24 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -472,7 +472,7 @@ glink-edge {
 			mboxes = <&apcs_glb 0>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8996";
+				compatible = "qcom,rpm-msm8996", "qcom,smd-rpm";
 				qcom,glink-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 7f44807b1b97..072bc03f5833 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -352,7 +352,7 @@ glink-edge {
 			mboxes = <&apcs_glb 0>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-msm8998";
+				compatible = "qcom,rpm-msm8998", "qcom,smd-rpm";
 				qcom,glink-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index c7e3764a8cf3..7d11cdea4f7c 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -372,7 +372,7 @@ glink-edge {
 			mboxes = <&apcs_glb 0>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-sdm660";
+				compatible = "qcom,rpm-sdm660", "qcom,smd-rpm";
 				qcom,glink-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index e374733f3b85..69c9d2d9af87 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -376,7 +376,7 @@ glink-edge {
 			mboxes = <&apcs_glb 0>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-sm6115";
+				compatible = "qcom,rpm-sm6115", "qcom,smd-rpm";
 				qcom,glink-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/sm6125.dtsi b/arch/arm64/boot/dts/qcom/sm6125.dtsi
index 777c380c2fa0..1686db0f1c89 100644
--- a/arch/arm64/boot/dts/qcom/sm6125.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6125.dtsi
@@ -192,7 +192,7 @@ glink-edge {
 			mboxes = <&apcs_glb 0>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-sm6125";
+				compatible = "qcom,rpm-sm6125", "qcom,smd-rpm";
 				qcom,glink-channels = "rpm_requests";
 
 				rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/sm6375.dtsi b/arch/arm64/boot/dts/qcom/sm6375.dtsi
index ddea681b536d..f2908fa2dfac 100644
--- a/arch/arm64/boot/dts/qcom/sm6375.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6375.dtsi
@@ -653,7 +653,7 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
 			mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
 
 			rpm_requests: rpm-requests {
-				compatible = "qcom,rpm-sm6375";
+				compatible = "qcom,rpm-sm6375", "qcom,smd-rpm";
 				qcom,glink-channels = "rpm_requests";
 
 				rpmcc: clock-controller {

-- 
2.39.2


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible
  2024-07-29 11:04 ` [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible Dmitry Baryshkov
@ 2024-07-29 12:23   ` Rob Herring (Arm)
  2024-07-29 15:01   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring (Arm) @ 2024-07-29 12:23 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-kernel, Andy Gross, Krzysztof Kozlowski, Bjorn Andersson,
	Konrad Dybcio, Stephan Gerhold, devicetree, Conor Dooley,
	linux-arm-msm


On Mon, 29 Jul 2024 14:04:45 +0300, Dmitry Baryshkov wrote:
> Add generic compatible to all smd-rpm devices, they follow the same
> RPMSG protocol.
> 
> Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 52 +++++++++++-----------
>  1 file changed, 27 insertions(+), 25 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.example.dtb: glink-edge: rpm-requests:compatible: ['qcom,rpm-msm8996'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,glink-rpm-edge.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.example.dtb: glink-edge: rpm-requests: Unevaluated properties are not allowed ('compatible' was unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,glink-rpm-edge.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.example.dtb: rpm-requests: compatible: ['qcom,rpm-msm8996'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: remoteproc: smd-edge:rpm-requests:compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,rpm-proc.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: smd-edge: rpm-requests:compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: rpm-requests: compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: remoteproc: glink-edge:rpm-requests:compatible: ['qcom,rpm-qcm2290'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,rpm-proc.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: remoteproc: glink-edge:rpm-requests: Unevaluated properties are not allowed ('compatible' was unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,rpm-proc.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: glink-edge: rpm-requests:compatible: ['qcom,rpm-qcm2290'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,glink-rpm-edge.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: glink-edge: rpm-requests: Unevaluated properties are not allowed ('compatible' was unexpected)
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,glink-rpm-edge.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.example.dtb: rpm-requests: compatible: ['qcom,rpm-qcm2290'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd.example.dtb: shared-memory: rpm:rpm-requests:compatible: ['qcom,rpm-msm8974'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd.example.dtb: shared-memory: rpm: Unevaluated properties are not allowed ('rpm-requests' was unexpected)
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd.example.dtb: rpm-requests: compatible: ['qcom,rpm-msm8974'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.example.dtb: remoteproc: smd-edge:rpm-requests:compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,rpm-proc.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.example.dtb: smd-edge: rpm-requests:compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.example.dtb: rpm-requests: compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/clock/qcom,rpmcc.example.dtb: rpm-requests: compatible: ['qcom,rpm-msm8916'] is too short
	from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240729-fix-smd-rpm-v1-1-99a96133cc65@linaro.org

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible
  2024-07-29 11:04 ` [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible Dmitry Baryshkov
  2024-07-29 12:23   ` Rob Herring (Arm)
@ 2024-07-29 15:01   ` Krzysztof Kozlowski
  1 sibling, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-29 15:01 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

On 29/07/2024 13:04, Dmitry Baryshkov wrote:
> Add generic compatible to all smd-rpm devices, they follow the same
> RPMSG protocol.
> 
> Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")

I do not see a bug being fixed here. Whether you have fallback or not,
is a design decision with both options reasonable in certain cases.

More over, some explanation, why you are doing this or what is the
benefit, is missing.

> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml | 52 +++++++++++-----------
>  1 file changed, 27 insertions(+), 25 deletions(-)


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible
  2024-07-29 11:04 ` [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
@ 2024-07-29 15:04   ` Krzysztof Kozlowski
  2024-07-29 17:49     ` Dmitry Baryshkov
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-29 15:04 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

On 29/07/2024 13:04, Dmitry Baryshkov wrote:
> The device node has the compatible string, so the glink channel name
> isn't used for modprobing. Add the qcom,smd-rpm compatible to let the
> module be automatically loaded when required.

So autoloading is not working? I don't understand whether you are fixing
real issue or just making something complete based on your feelings.
> 
> Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/soc/qcom/smd-rpm.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/4] ARM: dts: qcom: add generic compat string to RPM glink channels
  2024-07-29 11:04 ` [PATCH 3/4] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
@ 2024-07-29 15:06   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-29 15:06 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Andy Gross, Stephan Gerhold
  Cc: linux-arm-msm, devicetree, linux-kernel

On 29/07/2024 13:04, Dmitry Baryshkov wrote:
> Add the generic qcom,smd-rpm compatible to RPM nodes to follow the
> schema (and to allow automatic driver loading in a sane way).
> 
> Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")

That's nowhere a fix or please share some details what is the bug being
fixed here.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible
  2024-07-29 15:04   ` Krzysztof Kozlowski
@ 2024-07-29 17:49     ` Dmitry Baryshkov
  2024-07-29 18:36       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 17:49 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold, linux-arm-msm,
	devicetree, linux-kernel

On Mon, 29 Jul 2024 at 18:04, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 29/07/2024 13:04, Dmitry Baryshkov wrote:
> > The device node has the compatible string, so the glink channel name
> > isn't used for modprobing. Add the qcom,smd-rpm compatible to let the
> > module be automatically loaded when required.
>
> So autoloading is not working? I don't understand whether you are fixing
> real issue or just making something complete based on your feelings.

Yes, autoloading of smd-rpm is not working since bcabe1e09135, kernel
looks for qcom,rpm-FOO rather than the rpmsg:rpm_requests.
The obvious fix is to revert the commit, but I don't think that
listing all the chipsets there is a correct thing.

> >
> > Fixes: bcabe1e09135 ("soc: qcom: smd-rpm: Match rpmsg channel instead of compatible")
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  drivers/soc/qcom/smd-rpm.c | 11 ++++++++++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
>
> Best regards,
> Krzysztof
>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible
  2024-07-29 17:49     ` Dmitry Baryshkov
@ 2024-07-29 18:36       ` Krzysztof Kozlowski
  2024-07-29 18:53         ` Dmitry Baryshkov
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-29 18:36 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold, linux-arm-msm,
	devicetree, linux-kernel

On 29/07/2024 19:49, Dmitry Baryshkov wrote:
> On Mon, 29 Jul 2024 at 18:04, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>
>> On 29/07/2024 13:04, Dmitry Baryshkov wrote:
>>> The device node has the compatible string, so the glink channel name
>>> isn't used for modprobing. Add the qcom,smd-rpm compatible to let the
>>> module be automatically loaded when required.
>>
>> So autoloading is not working? I don't understand whether you are fixing
>> real issue or just making something complete based on your feelings.
> 
> Yes, autoloading of smd-rpm is not working since bcabe1e09135, kernel
> looks for qcom,rpm-FOO rather than the rpmsg:rpm_requests.
> The obvious fix is to revert the commit, but I don't think that
> listing all the chipsets there is a correct thing.
> 

OK, to me it wasn't so sure whether there is a real issue. Anyway, the
reason behind adding common compatible is not to fix autoloading but be
explicit that all of devices follow some sort of FW<->OS protocol.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible
  2024-07-29 18:36       ` Krzysztof Kozlowski
@ 2024-07-29 18:53         ` Dmitry Baryshkov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 18:53 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Andy Gross, Stephan Gerhold, linux-arm-msm,
	devicetree, linux-kernel

On Mon, 29 Jul 2024 at 21:36, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 29/07/2024 19:49, Dmitry Baryshkov wrote:
> > On Mon, 29 Jul 2024 at 18:04, Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >>
> >> On 29/07/2024 13:04, Dmitry Baryshkov wrote:
> >>> The device node has the compatible string, so the glink channel name
> >>> isn't used for modprobing. Add the qcom,smd-rpm compatible to let the
> >>> module be automatically loaded when required.
> >>
> >> So autoloading is not working? I don't understand whether you are fixing
> >> real issue or just making something complete based on your feelings.
> >
> > Yes, autoloading of smd-rpm is not working since bcabe1e09135, kernel
> > looks for qcom,rpm-FOO rather than the rpmsg:rpm_requests.
> > The obvious fix is to revert the commit, but I don't think that
> > listing all the chipsets there is a correct thing.
> >
>
> OK, to me it wasn't so sure whether there is a real issue. Anyway, the
> reason behind adding common compatible is not to fix autoloading but be
> explicit that all of devices follow some sort of FW<->OS protocol.

Well, it is both. But I see your point, let's fix the offending commit
first by listing all RPM blocks and then fix the issue as a separate
set of patches.


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-07-29 18:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 11:04 [PATCH 0/4] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
2024-07-29 11:04 ` [PATCH 1/4] dt-bindings: soc: qcom: smd-rpm: add generic compatible Dmitry Baryshkov
2024-07-29 12:23   ` Rob Herring (Arm)
2024-07-29 15:01   ` Krzysztof Kozlowski
2024-07-29 11:04 ` [PATCH 2/4] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
2024-07-29 15:04   ` Krzysztof Kozlowski
2024-07-29 17:49     ` Dmitry Baryshkov
2024-07-29 18:36       ` Krzysztof Kozlowski
2024-07-29 18:53         ` Dmitry Baryshkov
2024-07-29 11:04 ` [PATCH 3/4] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
2024-07-29 15:06   ` Krzysztof Kozlowski
2024-07-29 11:04 ` [PATCH 4/4] arm64: " Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox