* [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing
@ 2024-07-29 19:52 Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" Dmitry Baryshkov
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 19:52 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andy Gross, Stephan Gerhold, Michael Turquette,
Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov, stable
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,
--
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible"
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
@ 2024-07-29 19:52 ` Dmitry Baryshkov
2024-08-29 19:44 ` Konrad Dybcio
2024-07-29 19:52 ` [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles Dmitry Baryshkov
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 19:52 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andy Gross, Stephan Gerhold, Michael Turquette,
Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov, stable
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>
---
drivers/soc/qcom/smd-rpm.c | 35 ++++++++++++++++++++++++++---------
1 file changed, 26 insertions(+), 9 deletions(-)
diff --git a/drivers/soc/qcom/smd-rpm.c b/drivers/soc/qcom/smd-rpm.c
index b7056aed4c7d..9d64283d2125 100644
--- a/drivers/soc/qcom/smd-rpm.c
+++ b/drivers/soc/qcom/smd-rpm.c
@@ -196,9 +196,6 @@ static int qcom_smd_rpm_probe(struct rpmsg_device *rpdev)
{
struct qcom_smd_rpm *rpm;
- if (!rpdev->dev.of_node)
- return -EINVAL;
-
rpm = devm_kzalloc(&rpdev->dev, sizeof(*rpm), GFP_KERNEL);
if (!rpm)
return -ENOMEM;
@@ -218,18 +215,38 @@ static void qcom_smd_rpm_remove(struct rpmsg_device *rpdev)
of_platform_depopulate(&rpdev->dev);
}
-static const struct rpmsg_device_id qcom_smd_rpm_id_table[] = {
- { .name = "rpm_requests", },
- { /* sentinel */ }
+static const struct of_device_id qcom_smd_rpm_of_match[] = {
+ { .compatible = "qcom,rpm-apq8084" },
+ { .compatible = "qcom,rpm-ipq6018" },
+ { .compatible = "qcom,rpm-ipq9574" },
+ { .compatible = "qcom,rpm-msm8226" },
+ { .compatible = "qcom,rpm-msm8909" },
+ { .compatible = "qcom,rpm-msm8916" },
+ { .compatible = "qcom,rpm-msm8936" },
+ { .compatible = "qcom,rpm-msm8953" },
+ { .compatible = "qcom,rpm-msm8974" },
+ { .compatible = "qcom,rpm-msm8976" },
+ { .compatible = "qcom,rpm-msm8994" },
+ { .compatible = "qcom,rpm-msm8996" },
+ { .compatible = "qcom,rpm-msm8998" },
+ { .compatible = "qcom,rpm-sdm660" },
+ { .compatible = "qcom,rpm-sm6115" },
+ { .compatible = "qcom,rpm-sm6125" },
+ { .compatible = "qcom,rpm-sm6375" },
+ { .compatible = "qcom,rpm-qcm2290" },
+ { .compatible = "qcom,rpm-qcs404" },
+ {}
};
-MODULE_DEVICE_TABLE(rpmsg, qcom_smd_rpm_id_table);
+MODULE_DEVICE_TABLE(of, qcom_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 = qcom_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 v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" Dmitry Baryshkov
@ 2024-07-29 19:52 ` Dmitry Baryshkov
2024-07-30 19:45 ` Rob Herring (Arm)
2024-07-31 22:00 ` Stephen Boyd
2024-07-29 19:52 ` [PATCH v2 3/5] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
` (3 subsequent siblings)
5 siblings, 2 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 19:52 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andy Gross, Stephan Gerhold, Michael Turquette,
Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov
Add two generic compatibles to all smd-rpm devices, they follow the same
RPMSG protocol and are either accessed through the smd-edge or through
the glink-edge.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../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 +-
5 files changed, 38 insertions(+), 46 deletions(-)
diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml b/Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml
index 3665dd30604a..02fcffe93f1a 100644
--- a/Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml
@@ -139,7 +139,7 @@ examples:
- |
rpm {
rpm-requests {
- compatible = "qcom,rpm-msm8916";
+ compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
qcom,smd-channels = "rpm_requests";
clock-controller {
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.yaml
index 3766d4513b37..c54234247ab3 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.yaml
@@ -90,7 +90,7 @@ examples:
qcom,rpm-msg-ram = <&rpm_msg_ram>;
rpm-requests {
- compatible = "qcom,rpm-msm8996";
+ compatible = "qcom,rpm-msm8996", "qcom,glink-smd-rpm";
qcom,glink-channels = "rpm_requests";
/* ... */
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml
index 7afafde17a38..0c3e668b5d31 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml
@@ -142,7 +142,7 @@ examples:
qcom,smd-edge = <15>;
rpm-requests {
- compatible = "qcom,rpm-msm8916";
+ compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
qcom,smd-channels = "rpm_requests";
/* ... */
};
@@ -163,7 +163,7 @@ examples:
mboxes = <&apcs_glb 0>;
rpm-requests {
- compatible = "qcom,rpm-qcm2290";
+ compatible = "qcom,rpm-qcm2290", "qcom,glink-smd-rpm";
qcom,glink-channels = "rpm_requests";
/* ... */
};
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
index 2fa725b8af5d..270bcd079f88 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
@@ -30,31 +30,37 @@ 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
+ oneOf:
+ - items:
+ - enum:
+ - qcom,rpm-apq8084
+ - 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
+ - const: qcom,smd-rpm
+ - items:
+ - enum:
+ - qcom,rpm-ipq6018
+ - qcom,rpm-ipq9574
+ - 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,glink-smd-rpm
clock-controller:
$ref: /schemas/clock/qcom,rpmcc.yaml#
@@ -84,21 +90,7 @@ if:
properties:
compatible:
contains:
- enum:
- - qcom,rpm-apq8084
- - 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
+ const: qcom,smd-rpm
then:
properties:
qcom,glink-channels: false
@@ -129,7 +121,7 @@ examples:
qcom,smd-edge = <15>;
rpm-requests {
- compatible = "qcom,rpm-msm8916";
+ compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
qcom,smd-channels = "rpm_requests";
clock-controller {
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
index 4819ce90d206..d9fabefc8147 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
@@ -56,7 +56,7 @@ examples:
qcom,smd-edge = <15>;
rpm-requests {
- compatible = "qcom,rpm-msm8974";
+ compatible = "qcom,rpm-msm8974", "qcom,smd-rpm";
qcom,smd-channels = "rpm_requests";
clock-controller {
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 3/5] soc: qcom: smd-rpm: add qcom,smd-rpm compatible
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles Dmitry Baryshkov
@ 2024-07-29 19:52 ` Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 4/5] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
` (2 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 19:52 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andy Gross, Stephan Gerhold, Michael Turquette,
Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov
Add the generic qcom,smd-rpm and qcom,glink-smd-rpm compatibles so that
there is no need to add further compat strings to the list. Existing
strings are intact to keep compatibility with existing DTS.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/soc/qcom/smd-rpm.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/soc/qcom/smd-rpm.c b/drivers/soc/qcom/smd-rpm.c
index 9d64283d2125..f2b3e02abdf1 100644
--- a/drivers/soc/qcom/smd-rpm.c
+++ b/drivers/soc/qcom/smd-rpm.c
@@ -216,6 +216,12 @@ static void qcom_smd_rpm_remove(struct rpmsg_device *rpdev)
}
static const struct of_device_id qcom_smd_rpm_of_match[] = {
+ { .compatible = "qcom,glink-smd-rpm" },
+ { .compatible = "qcom,smd-rpm" },
+ /*
+ * Don't add any more compatibles to the list, two previous entryes
+ * should match all defined devices.
+ */
{ .compatible = "qcom,rpm-apq8084" },
{ .compatible = "qcom,rpm-ipq6018" },
{ .compatible = "qcom,rpm-ipq9574" },
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 4/5] ARM: dts: qcom: add generic compat string to RPM glink channels
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
` (2 preceding siblings ...)
2024-07-29 19:52 ` [PATCH v2 3/5] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
@ 2024-07-29 19:52 ` Dmitry Baryshkov
2024-07-30 8:09 ` Konrad Dybcio
2024-07-29 19:52 ` [PATCH v2 5/5] arm64: " Dmitry Baryshkov
2024-08-15 20:40 ` (subset) [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Bjorn Andersson
5 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 19:52 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andy Gross, Stephan Gerhold, Michael Turquette,
Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov
Add the generic qcom,smd-rpm compatible to RPM nodes to follow the
schema.
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 v2 5/5] arm64: dts: qcom: add generic compat string to RPM glink channels
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
` (3 preceding siblings ...)
2024-07-29 19:52 ` [PATCH v2 4/5] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
@ 2024-07-29 19:52 ` Dmitry Baryshkov
2024-07-30 8:09 ` Konrad Dybcio
2024-08-15 20:40 ` (subset) [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Bjorn Andersson
5 siblings, 1 reply; 12+ messages in thread
From: Dmitry Baryshkov @ 2024-07-29 19:52 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Andy Gross, Stephan Gerhold, Michael Turquette,
Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov
Add the generic qcom,smd-rpm / qcom,glink-smd-rpm compatible to RPM
nodes to follow the schema.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
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 +-
15 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index e1e45da7f787..8edd535a188f 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -168,7 +168,7 @@ glink-edge {
mboxes = <&apcs_glb 0>;
rpm_requests: rpm-requests {
- compatible = "qcom,rpm-ipq6018";
+ compatible = "qcom,rpm-ipq6018", "qcom,glink-smd-rpm";
qcom,glink-channels = "rpm_requests";
regulators {
diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 48dfafea46a7..08a82a5cf667 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -181,7 +181,7 @@ glink-edge {
mboxes = <&apcs_glb 0>;
rpm_requests: rpm-requests {
- compatible = "qcom,rpm-ipq9574";
+ compatible = "qcom,rpm-ipq9574", "qcom,glink-smd-rpm";
qcom,glink-channels = "rpm_requests";
};
};
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..e5966724f37c 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,glink-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..2bcfa480509d 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,glink-smd-rpm";
qcom,glink-channels = "rpm_requests";
rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/qcm2290.dtsi b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
index 8f3be4c75db3..79bc42ffb6a1 100644
--- a/arch/arm64/boot/dts/qcom/qcm2290.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcm2290.dtsi
@@ -215,7 +215,7 @@ glink-edge {
mboxes = <&apcs_glb 0>;
rpm_requests: rpm-requests {
- compatible = "qcom,rpm-qcm2290";
+ compatible = "qcom,rpm-qcm2290", "qcom,glink-smd-rpm";
qcom,glink-channels = "rpm_requests";
rpmcc: clock-controller {
diff --git a/arch/arm64/boot/dts/qcom/qcs404.dtsi b/arch/arm64/boot/dts/qcom/qcs404.dtsi
index c291bbed6073..cddc16bac0ce 100644
--- a/arch/arm64/boot/dts/qcom/qcs404.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs404.dtsi
@@ -177,7 +177,7 @@ glink-edge {
mboxes = <&apcs_glb 0>;
rpm_requests: rpm-requests {
- compatible = "qcom,rpm-qcs404";
+ compatible = "qcom,rpm-qcs404", "qcom,glink-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..c8da5cb8d04e 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,glink-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..41216cc319d6 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,glink-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..133610d14fc4 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,glink-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..4d519dd6e7ef 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,glink-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 v2 5/5] arm64: dts: qcom: add generic compat string to RPM glink channels
2024-07-29 19:52 ` [PATCH v2 5/5] arm64: " Dmitry Baryshkov
@ 2024-07-30 8:09 ` Konrad Dybcio
0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2024-07-30 8:09 UTC (permalink / raw)
To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Andy Gross, Stephan Gerhold,
Michael Turquette, Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc
On 29.07.2024 9:52 PM, Dmitry Baryshkov wrote:
> Add the generic qcom,smd-rpm / qcom,glink-smd-rpm compatible to RPM
> nodes to follow the schema.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>
Konrad
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 4/5] ARM: dts: qcom: add generic compat string to RPM glink channels
2024-07-29 19:52 ` [PATCH v2 4/5] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
@ 2024-07-30 8:09 ` Konrad Dybcio
0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2024-07-30 8:09 UTC (permalink / raw)
To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Andy Gross, Stephan Gerhold,
Michael Turquette, Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc
On 29.07.2024 9:52 PM, Dmitry Baryshkov wrote:
> Add the generic qcom,smd-rpm compatible to RPM nodes to follow the
> schema.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konradybcio@kernel.org>
Konrad
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles
2024-07-29 19:52 ` [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles Dmitry Baryshkov
@ 2024-07-30 19:45 ` Rob Herring (Arm)
2024-07-31 22:00 ` Stephen Boyd
1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring (Arm) @ 2024-07-30 19:45 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: linux-arm-msm, linux-clk, Krzysztof Kozlowski, Stephan Gerhold,
Conor Dooley, Stephen Boyd, Michael Turquette, Mathieu Poirier,
Konrad Dybcio, devicetree, Andy Gross, linux-kernel,
linux-remoteproc, Krzysztof Kozlowski, Bjorn Andersson
On Mon, 29 Jul 2024 22:52:15 +0300, Dmitry Baryshkov wrote:
> Add two generic compatibles to all smd-rpm devices, they follow the same
> RPMSG protocol and are either accessed through the smd-edge or through
> the glink-edge.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> .../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 +-
> 5 files changed, 38 insertions(+), 46 deletions(-)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles
2024-07-29 19:52 ` [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles Dmitry Baryshkov
2024-07-30 19:45 ` Rob Herring (Arm)
@ 2024-07-31 22:00 ` Stephen Boyd
1 sibling, 0 replies; 12+ messages in thread
From: Stephen Boyd @ 2024-07-31 22:00 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Conor Dooley, Dmitry Baryshkov,
Konrad Dybcio, Krzysztof Kozlowski, Mathieu Poirier,
Michael Turquette, Rob Herring, Stephan Gerhold
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, Dmitry Baryshkov
Quoting Dmitry Baryshkov (2024-07-29 12:52:15)
> Add two generic compatibles to all smd-rpm devices, they follow the same
> RPMSG protocol and are either accessed through the smd-edge or through
> the glink-edge.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Acked-by: Stephen Boyd <sboyd@kernel.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: (subset) [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
` (4 preceding siblings ...)
2024-07-29 19:52 ` [PATCH v2 5/5] arm64: " Dmitry Baryshkov
@ 2024-08-15 20:40 ` Bjorn Andersson
5 siblings, 0 replies; 12+ messages in thread
From: Bjorn Andersson @ 2024-08-15 20:40 UTC (permalink / raw)
To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Andy Gross, Stephan Gerhold, Michael Turquette, Stephen Boyd,
Mathieu Poirier, Dmitry Baryshkov
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, stable
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,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible"
2024-07-29 19:52 ` [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" Dmitry Baryshkov
@ 2024-08-29 19:44 ` Konrad Dybcio
0 siblings, 0 replies; 12+ messages in thread
From: Konrad Dybcio @ 2024-08-29 19:44 UTC (permalink / raw)
To: Dmitry Baryshkov, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Andy Gross, Stephan Gerhold,
Michael Turquette, Stephen Boyd, Mathieu Poirier
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski,
linux-clk, linux-remoteproc, stable
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
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-08-29 19:44 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-29 19:52 [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 1/5] Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" Dmitry Baryshkov
2024-08-29 19:44 ` Konrad Dybcio
2024-07-29 19:52 ` [PATCH v2 2/5] dt-bindings: soc: qcom: smd-rpm: add generic compatibles Dmitry Baryshkov
2024-07-30 19:45 ` Rob Herring (Arm)
2024-07-31 22:00 ` Stephen Boyd
2024-07-29 19:52 ` [PATCH v2 3/5] soc: qcom: smd-rpm: add qcom,smd-rpm compatible Dmitry Baryshkov
2024-07-29 19:52 ` [PATCH v2 4/5] ARM: dts: qcom: add generic compat string to RPM glink channels Dmitry Baryshkov
2024-07-30 8:09 ` Konrad Dybcio
2024-07-29 19:52 ` [PATCH v2 5/5] arm64: " Dmitry Baryshkov
2024-07-30 8:09 ` Konrad Dybcio
2024-08-15 20:40 ` (subset) [PATCH v2 0/5] soc: qcom: fix rpm_requests module probing Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).