All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name
@ 2023-02-18 23:54 ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Align the block controller example node name with Linux imx8mp.dtsi .
No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 .../devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
index dadb6108e3213..d4fb58979de19 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
@@ -94,7 +94,7 @@ examples:
     #include <dt-bindings/clock/imx8mp-clock.h>
     #include <dt-bindings/power/imx8mp-power.h>
 
-    media_blk_ctl: blk-ctl@32ec0000 {
+    media_blk_ctl: blk-ctrl@32ec0000 {
         compatible = "fsl,imx8mp-media-blk-ctrl", "syscon";
         reg = <0x32ec0000 0x138>;
         power-domains = <&mediamix_pd>, <&mipi_phy1_pd>, <&mipi_phy1_pd>,
-- 
2.39.1


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

* [PATCH 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name
@ 2023-02-18 23:54 ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Align the block controller example node name with Linux imx8mp.dtsi .
No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 .../devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
index dadb6108e3213..d4fb58979de19 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
@@ -94,7 +94,7 @@ examples:
     #include <dt-bindings/clock/imx8mp-clock.h>
     #include <dt-bindings/power/imx8mp-power.h>
 
-    media_blk_ctl: blk-ctl@32ec0000 {
+    media_blk_ctl: blk-ctrl@32ec0000 {
         compatible = "fsl,imx8mp-media-blk-ctrl", "syscon";
         reg = <0x32ec0000 0x138>;
         power-domains = <&mediamix_pd>, <&mipi_phy1_pd>, <&mipi_phy1_pd>,
-- 
2.39.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB into DT example
  2023-02-18 23:54 ` Marek Vasut
@ 2023-02-18 23:54   ` Marek Vasut
  -1 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Document the LDB bridge subnode and add the subnode into the example.
For the subnode to work, the block control must scan its subnodes and
bind drivers to them, do not misuse either simple-bus or simple-mfd
here .

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 51 +++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
index d4fb58979de19..08596756f78e4 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
@@ -23,6 +23,12 @@ properties:
   reg:
     maxItems: 1
 
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 1
+
   '#power-domain-cells':
     const: 1
 
@@ -78,9 +84,16 @@ properties:
       - const: isp1
       - const: dwe
 
+  bridge@5c:
+    type: object
+    $ref: /schemas/display/bridge/fsl,ldb.yaml#
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
+  - '#address-cells'
+  - '#size-cells'
   - '#power-domain-cells'
   - power-domains
   - power-domain-names
@@ -114,5 +127,43 @@ examples:
         clock-names = "apb", "axi", "cam1", "cam2", "disp1", "disp2",
                       "isp", "phy";
         #power-domain-cells = <1>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+
+        bridge@5c {
+            compatible = "fsl,imx8mp-ldb";
+            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
+            clock-names = "ldb";
+            reg = <0x5c 0x4>, <0x128 0x4>;
+            reg-names = "ldb", "lvds";
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+
+                    ldb_from_lcdif2: endpoint {
+                        remote-endpoint = <&lcdif2_to_ldb>;
+                    };
+                };
+
+                port@1 {
+                    reg = <1>;
+
+                    ldb_lvds_ch0: endpoint {
+                        remote-endpoint = <&ldb_to_lvdsx4panel>;
+                    };
+                };
+
+                port@2 {
+                    reg = <2>;
+
+                    ldb_lvds_ch1: endpoint {
+                    };
+                };
+            };
+        };
     };
 ...
-- 
2.39.1


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

* [PATCH 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB into DT example
@ 2023-02-18 23:54   ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Document the LDB bridge subnode and add the subnode into the example.
For the subnode to work, the block control must scan its subnodes and
bind drivers to them, do not misuse either simple-bus or simple-mfd
here .

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 51 +++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
index d4fb58979de19..08596756f78e4 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
@@ -23,6 +23,12 @@ properties:
   reg:
     maxItems: 1
 
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 1
+
   '#power-domain-cells':
     const: 1
 
@@ -78,9 +84,16 @@ properties:
       - const: isp1
       - const: dwe
 
+  bridge@5c:
+    type: object
+    $ref: /schemas/display/bridge/fsl,ldb.yaml#
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
+  - '#address-cells'
+  - '#size-cells'
   - '#power-domain-cells'
   - power-domains
   - power-domain-names
@@ -114,5 +127,43 @@ examples:
         clock-names = "apb", "axi", "cam1", "cam2", "disp1", "disp2",
                       "isp", "phy";
         #power-domain-cells = <1>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+
+        bridge@5c {
+            compatible = "fsl,imx8mp-ldb";
+            clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
+            clock-names = "ldb";
+            reg = <0x5c 0x4>, <0x128 0x4>;
+            reg-names = "ldb", "lvds";
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                port@0 {
+                    reg = <0>;
+
+                    ldb_from_lcdif2: endpoint {
+                        remote-endpoint = <&lcdif2_to_ldb>;
+                    };
+                };
+
+                port@1 {
+                    reg = <1>;
+
+                    ldb_lvds_ch0: endpoint {
+                        remote-endpoint = <&ldb_to_lvdsx4panel>;
+                    };
+                };
+
+                port@2 {
+                    reg = <2>;
+
+                    ldb_lvds_ch1: endpoint {
+                    };
+                };
+            };
+        };
     };
 ...
-- 
2.39.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 3/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl
  2023-02-18 23:54 ` Marek Vasut
@ 2023-02-18 23:54   ` Marek Vasut
  -1 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

This block should not be compatible with simple-bus and misuse it that way.
Instead, the driver should scan its subnodes and bind drivers to them.

Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 2dd60e3252f35..ca8093ee4d0e4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1151,7 +1151,7 @@ lcdif2_to_ldb: endpoint {
 
 			media_blk_ctrl: blk-ctrl@32ec0000 {
 				compatible = "fsl,imx8mp-media-blk-ctrl",
-					     "simple-bus", "syscon";
+					     "syscon";
 				reg = <0x32ec0000 0x10000>;
 				#address-cells = <1>;
 				#size-cells = <1>;
-- 
2.39.1


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

* [PATCH 3/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl
@ 2023-02-18 23:54   ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

This block should not be compatible with simple-bus and misuse it that way.
Instead, the driver should scan its subnodes and bind drivers to them.

Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 2dd60e3252f35..ca8093ee4d0e4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1151,7 +1151,7 @@ lcdif2_to_ldb: endpoint {
 
 			media_blk_ctrl: blk-ctrl@32ec0000 {
 				compatible = "fsl,imx8mp-media-blk-ctrl",
-					     "simple-bus", "syscon";
+					     "syscon";
 				reg = <0x32ec0000 0x10000>;
 				#address-cells = <1>;
 				#size-cells = <1>;
-- 
2.39.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
  2023-02-18 23:54 ` Marek Vasut
@ 2023-02-18 23:54   ` Marek Vasut
  -1 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

This particular block can have DT subnodes describing the LVDS LDB
bridge. Instead of misusing simple-bus to scan for those nodes, do
the scan within the driver.

Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/soc/imx/imx8m-blk-ctrl.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index 399cb85105a18..ab48f9dff4be5 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -169,7 +169,9 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
 {
 	const struct imx8m_blk_ctrl_data *bc_data;
 	struct device *dev = &pdev->dev;
+	struct platform_device *child;
 	struct imx8m_blk_ctrl *bc;
+	struct device_node *np;
 	void __iomem *base;
 	int i, ret;
 
@@ -310,6 +312,15 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
 
 	dev_set_drvdata(dev, bc);
 
+	for_each_child_of_node(dev->of_node, np) {
+		child = of_platform_device_create(np, NULL, dev);
+		if (!child)
+			ret = -ENOMEM;
+		of_node_put(np);
+		if (ret)
+			goto cleanup_provider;
+	}
+
 	return 0;
 
 cleanup_provider:
-- 
2.39.1


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

* [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
@ 2023-02-18 23:54   ` Marek Vasut
  0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2023-02-18 23:54 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

This particular block can have DT subnodes describing the LVDS LDB
bridge. Instead of misusing simple-bus to scan for those nodes, do
the scan within the driver.

Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Cc: Richard Zhu <hongxing.zhu@nxp.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/soc/imx/imx8m-blk-ctrl.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index 399cb85105a18..ab48f9dff4be5 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -169,7 +169,9 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
 {
 	const struct imx8m_blk_ctrl_data *bc_data;
 	struct device *dev = &pdev->dev;
+	struct platform_device *child;
 	struct imx8m_blk_ctrl *bc;
+	struct device_node *np;
 	void __iomem *base;
 	int i, ret;
 
@@ -310,6 +312,15 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
 
 	dev_set_drvdata(dev, bc);
 
+	for_each_child_of_node(dev->of_node, np) {
+		child = of_platform_device_create(np, NULL, dev);
+		if (!child)
+			ret = -ENOMEM;
+		of_node_put(np);
+		if (ret)
+			goto cleanup_provider;
+	}
+
 	return 0;
 
 cleanup_provider:
-- 
2.39.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name
  2023-02-18 23:54 ` Marek Vasut
@ 2023-02-20  2:16   ` Liu Ying
  -1 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:16 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Hi Marek,

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> Align the block controller example node name with Linux imx8mp.dtsi .
> No functional change.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  .../devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml  | 2
> +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-
> media-blk-ctrl.yaml
> b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-
> ctrl.yaml
> index dadb6108e3213..d4fb58979de19 100644
> --- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-
> ctrl.yaml
> +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-
> ctrl.yaml
> @@ -94,7 +94,7 @@ examples:
>      #include <dt-bindings/clock/imx8mp-clock.h>
>      #include <dt-bindings/power/imx8mp-power.h>
>  
> -    media_blk_ctl: blk-ctl@32ec0000 {
> +    media_blk_ctl: blk-ctrl@32ec0000 {

Care to align the label with imx8mp.dtsi as well?

Regards,
Liu Ying

>          compatible = "fsl,imx8mp-media-blk-ctrl", "syscon";
>          reg = <0x32ec0000 0x138>;
>          power-domains = <&mediamix_pd>, <&mipi_phy1_pd>,
> <&mipi_phy1_pd>,


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

* Re: [PATCH 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name
@ 2023-02-20  2:16   ` Liu Ying
  0 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:16 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Hi Marek,

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> Align the block controller example node name with Linux imx8mp.dtsi .
> No functional change.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  .../devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml  | 2
> +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-
> media-blk-ctrl.yaml
> b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-
> ctrl.yaml
> index dadb6108e3213..d4fb58979de19 100644
> --- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-
> ctrl.yaml
> +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-
> ctrl.yaml
> @@ -94,7 +94,7 @@ examples:
>      #include <dt-bindings/clock/imx8mp-clock.h>
>      #include <dt-bindings/power/imx8mp-power.h>
>  
> -    media_blk_ctl: blk-ctl@32ec0000 {
> +    media_blk_ctl: blk-ctrl@32ec0000 {

Care to align the label with imx8mp.dtsi as well?

Regards,
Liu Ying

>          compatible = "fsl,imx8mp-media-blk-ctrl", "syscon";
>          reg = <0x32ec0000 0x138>;
>          power-domains = <&mediamix_pd>, <&mipi_phy1_pd>,
> <&mipi_phy1_pd>,


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB into DT example
  2023-02-18 23:54   ` Marek Vasut
@ 2023-02-20  2:17     ` Liu Ying
  -1 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:17 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> Document the LDB bridge subnode and add the subnode into the example.
> For the subnode to work, the block control must scan its subnodes and
> bind drivers to them, do not misuse either simple-bus or simple-mfd
> here .
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 51
> +++++++++++++++++++
>  1 file changed, 51 insertions(+)

Reviewed-by: Liu Ying <victor.liu@nxp.com>


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

* Re: [PATCH 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB into DT example
@ 2023-02-20  2:17     ` Liu Ying
  0 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:17 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> Document the LDB bridge subnode and add the subnode into the example.
> For the subnode to work, the block control must scan its subnodes and
> bind drivers to them, do not misuse either simple-bus or simple-mfd
> here .
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 51
> +++++++++++++++++++
>  1 file changed, 51 insertions(+)

Reviewed-by: Liu Ying <victor.liu@nxp.com>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl
  2023-02-18 23:54   ` Marek Vasut
@ 2023-02-20  2:25     ` Liu Ying
  -1 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:25 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Hi Marek,

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> This block should not be compatible with simple-bus and misuse it
> that way.
> Instead, the driver should scan its subnodes and bind drivers to
> them.
> 
> Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Need to swap this patch and patch 4/4. Otherwise, this patch would
break the usage of media_blk_ctrl's child device.

Regards,
Liu Ying


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

* Re: [PATCH 3/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl
@ 2023-02-20  2:25     ` Liu Ying
  0 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:25 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Hi Marek,

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> This block should not be compatible with simple-bus and misuse it
> that way.
> Instead, the driver should scan its subnodes and bind drivers to
> them.
> 
> Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Need to swap this patch and patch 4/4. Otherwise, this patch would
break the usage of media_blk_ctrl's child device.

Regards,
Liu Ying


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
  2023-02-18 23:54   ` Marek Vasut
@ 2023-02-20  2:39     ` Liu Ying
  -1 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:39 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Hi Marek,

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> This particular block can have DT subnodes describing the LVDS LDB
> bridge. Instead of misusing simple-bus to scan for those nodes, do
> the scan within the driver.
> 
> Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  drivers/soc/imx/imx8m-blk-ctrl.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c
> b/drivers/soc/imx/imx8m-blk-ctrl.c
> index 399cb85105a18..ab48f9dff4be5 100644
> --- a/drivers/soc/imx/imx8m-blk-ctrl.c
> +++ b/drivers/soc/imx/imx8m-blk-ctrl.c
> @@ -169,7 +169,9 @@ static int imx8m_blk_ctrl_probe(struct
> platform_device *pdev)
>  {
>  	const struct imx8m_blk_ctrl_data *bc_data;
>  	struct device *dev = &pdev->dev;
> +	struct platform_device *child;
>  	struct imx8m_blk_ctrl *bc;
> +	struct device_node *np;
>  	void __iomem *base;
>  	int i, ret;
>  
> @@ -310,6 +312,15 @@ static int imx8m_blk_ctrl_probe(struct
> platform_device *pdev)
>  
>  	dev_set_drvdata(dev, bc);

nit: I would put the below loop before dev_set_drvdata().

>  
> +	for_each_child_of_node(dev->of_node, np) {

Please call for_each_available_child_of_node() to create available
child devices only.

> +		child = of_platform_device_create(np, NULL, dev);
> +		if (!child)
> +			ret = -ENOMEM;

-ENODEV is more appropriate?

> +		of_node_put(np);

for_each_child_of_node() and for_each_available_child_node() would do
of_node_put() for you unless you break/return from the loop.

> +		if (ret)
> +			goto cleanup_provider;

Instead of return in case of creating child device failure, I would
give a warning message and continue to create other child devices if
any. So I would write:

-------------------------------8<-----------------------------------
        for_each_available_child_of_node(dev->of_node, np) {
                child = of_platform_device_create(np, NULL, dev);
                if (!child)
                        dev_warn(dev, "failed to create device for
%pOF\n", child);
        }
-------------------------------8<-----------------------------------

Even if return is used, dev_pm_genpd_remove_notifier() should be called
to bailout correctly.

Regards,
Liu Ying

> +	}
> +
>  	return 0;
>  
>  cleanup_provider:


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

* Re: [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
@ 2023-02-20  2:39     ` Liu Ying
  0 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:39 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

Hi Marek,

On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> This particular block can have DT subnodes describing the LVDS LDB
> bridge. Instead of misusing simple-bus to scan for those nodes, do
> the scan within the driver.
> 
> Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Richard Cochran <richardcochran@gmail.com>
> Cc: Richard Zhu <hongxing.zhu@nxp.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
>  drivers/soc/imx/imx8m-blk-ctrl.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c
> b/drivers/soc/imx/imx8m-blk-ctrl.c
> index 399cb85105a18..ab48f9dff4be5 100644
> --- a/drivers/soc/imx/imx8m-blk-ctrl.c
> +++ b/drivers/soc/imx/imx8m-blk-ctrl.c
> @@ -169,7 +169,9 @@ static int imx8m_blk_ctrl_probe(struct
> platform_device *pdev)
>  {
>  	const struct imx8m_blk_ctrl_data *bc_data;
>  	struct device *dev = &pdev->dev;
> +	struct platform_device *child;
>  	struct imx8m_blk_ctrl *bc;
> +	struct device_node *np;
>  	void __iomem *base;
>  	int i, ret;
>  
> @@ -310,6 +312,15 @@ static int imx8m_blk_ctrl_probe(struct
> platform_device *pdev)
>  
>  	dev_set_drvdata(dev, bc);

nit: I would put the below loop before dev_set_drvdata().

>  
> +	for_each_child_of_node(dev->of_node, np) {

Please call for_each_available_child_of_node() to create available
child devices only.

> +		child = of_platform_device_create(np, NULL, dev);
> +		if (!child)
> +			ret = -ENOMEM;

-ENODEV is more appropriate?

> +		of_node_put(np);

for_each_child_of_node() and for_each_available_child_node() would do
of_node_put() for you unless you break/return from the loop.

> +		if (ret)
> +			goto cleanup_provider;

Instead of return in case of creating child device failure, I would
give a warning message and continue to create other child devices if
any. So I would write:

-------------------------------8<-----------------------------------
        for_each_available_child_of_node(dev->of_node, np) {
                child = of_platform_device_create(np, NULL, dev);
                if (!child)
                        dev_warn(dev, "failed to create device for
%pOF\n", child);
        }
-------------------------------8<-----------------------------------

Even if return is used, dev_pm_genpd_remove_notifier() should be called
to bailout correctly.

Regards,
Liu Ying

> +	}
> +
>  	return 0;
>  
>  cleanup_provider:


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
  2023-02-20  2:39     ` Liu Ying
@ 2023-02-20  2:57       ` Liu Ying
  -1 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:57 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

On Mon, 2023-02-20 at 10:39 +0800, Liu Ying wrote:
> Hi Marek,
> 
> On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> > This particular block can have DT subnodes describing the LVDS LDB
> > bridge. Instead of misusing simple-bus to scan for those nodes, do
> > the scan within the driver.
> > 
> > Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > ---
> > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> > Cc: Fabio Estevam <festevam@gmail.com>
> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: NXP Linux Team <linux-imx@nxp.com>
> > Cc: Paul Elder <paul.elder@ideasonboard.com>
> > Cc: Peng Fan <peng.fan@nxp.com>
> > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > Cc: Richard Cochran <richardcochran@gmail.com>
> > Cc: Richard Zhu <hongxing.zhu@nxp.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > Cc: devicetree@vger.kernel.org
> > Cc: linux-arm-kernel@lists.infradead.org
> > ---
> >  drivers/soc/imx/imx8m-blk-ctrl.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c
> > b/drivers/soc/imx/imx8m-blk-ctrl.c
> > index 399cb85105a18..ab48f9dff4be5 100644
> > --- a/drivers/soc/imx/imx8m-blk-ctrl.c
> > +++ b/drivers/soc/imx/imx8m-blk-ctrl.c
> > @@ -169,7 +169,9 @@ static int imx8m_blk_ctrl_probe(struct
> > platform_device *pdev)
> >  {
> >  	const struct imx8m_blk_ctrl_data *bc_data;
> >  	struct device *dev = &pdev->dev;
> > +	struct platform_device *child;
> >  	struct imx8m_blk_ctrl *bc;
> > +	struct device_node *np;
> >  	void __iomem *base;
> >  	int i, ret;
> >  
> > @@ -310,6 +312,15 @@ static int imx8m_blk_ctrl_probe(struct
> > platform_device *pdev)
> >  
> >  	dev_set_drvdata(dev, bc);
> 
> nit: I would put the below loop before dev_set_drvdata().
> 
> >  
> > +	for_each_child_of_node(dev->of_node, np) {
> 
> Please call for_each_available_child_of_node() to create available
> child devices only.

Just found that of_platform_device_create() checks if the device node
is available or not, so you may keep using for_each_child_of_node().

Regards,
Liu Ying

> 
> > +		child = of_platform_device_create(np, NULL, dev);
> > +		if (!child)
> > +			ret = -ENOMEM;
> 
> -ENODEV is more appropriate?
> 
> > +		of_node_put(np);
> 
> for_each_child_of_node() and for_each_available_child_node() would do
> of_node_put() for you unless you break/return from the loop.
> 
> > +		if (ret)
> > +			goto cleanup_provider;
> 
> Instead of return in case of creating child device failure, I would
> give a warning message and continue to create other child devices if
> any. So I would write:
> 
> -------------------------------8<-----------------------------------
>         for_each_available_child_of_node(dev->of_node, np) {
>                 child = of_platform_device_create(np, NULL, dev);
>                 if (!child)
>                         dev_warn(dev, "failed to create device for
> %pOF\n", child);
>         }
> -------------------------------8<-----------------------------------
> 
> Even if return is used, dev_pm_genpd_remove_notifier() should be
> called
> to bailout correctly.
> 
> Regards,
> Liu Ying
> 
> > +	}
> > +
> >  	return 0;
> >  
> >  cleanup_provider:
> 
> 


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

* Re: [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
@ 2023-02-20  2:57       ` Liu Ying
  0 siblings, 0 replies; 18+ messages in thread
From: Liu Ying @ 2023-02-20  2:57 UTC (permalink / raw)
  To: Marek Vasut, linux-arm-kernel
  Cc: Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
	Laurent Pinchart, Lucas Stach, NXP Linux Team, Paul Elder,
	Peng Fan, Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
	Rob Herring, Sascha Hauer, Shawn Guo, devicetree

On Mon, 2023-02-20 at 10:39 +0800, Liu Ying wrote:
> Hi Marek,
> 
> On Sun, 2023-02-19 at 00:54 +0100, Marek Vasut wrote:
> > This particular block can have DT subnodes describing the LVDS LDB
> > bridge. Instead of misusing simple-bus to scan for those nodes, do
> > the scan within the driver.
> > 
> > Fixes: 94e6197dadc9 ("arm64: dts: imx8mp: Add LCDIF2 & LDB nodes")
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > ---
> > Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> > Cc: Fabio Estevam <festevam@gmail.com>
> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: NXP Linux Team <linux-imx@nxp.com>
> > Cc: Paul Elder <paul.elder@ideasonboard.com>
> > Cc: Peng Fan <peng.fan@nxp.com>
> > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > Cc: Richard Cochran <richardcochran@gmail.com>
> > Cc: Richard Zhu <hongxing.zhu@nxp.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > Cc: devicetree@vger.kernel.org
> > Cc: linux-arm-kernel@lists.infradead.org
> > ---
> >  drivers/soc/imx/imx8m-blk-ctrl.c | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c
> > b/drivers/soc/imx/imx8m-blk-ctrl.c
> > index 399cb85105a18..ab48f9dff4be5 100644
> > --- a/drivers/soc/imx/imx8m-blk-ctrl.c
> > +++ b/drivers/soc/imx/imx8m-blk-ctrl.c
> > @@ -169,7 +169,9 @@ static int imx8m_blk_ctrl_probe(struct
> > platform_device *pdev)
> >  {
> >  	const struct imx8m_blk_ctrl_data *bc_data;
> >  	struct device *dev = &pdev->dev;
> > +	struct platform_device *child;
> >  	struct imx8m_blk_ctrl *bc;
> > +	struct device_node *np;
> >  	void __iomem *base;
> >  	int i, ret;
> >  
> > @@ -310,6 +312,15 @@ static int imx8m_blk_ctrl_probe(struct
> > platform_device *pdev)
> >  
> >  	dev_set_drvdata(dev, bc);
> 
> nit: I would put the below loop before dev_set_drvdata().
> 
> >  
> > +	for_each_child_of_node(dev->of_node, np) {
> 
> Please call for_each_available_child_of_node() to create available
> child devices only.

Just found that of_platform_device_create() checks if the device node
is available or not, so you may keep using for_each_child_of_node().

Regards,
Liu Ying

> 
> > +		child = of_platform_device_create(np, NULL, dev);
> > +		if (!child)
> > +			ret = -ENOMEM;
> 
> -ENODEV is more appropriate?
> 
> > +		of_node_put(np);
> 
> for_each_child_of_node() and for_each_available_child_node() would do
> of_node_put() for you unless you break/return from the loop.
> 
> > +		if (ret)
> > +			goto cleanup_provider;
> 
> Instead of return in case of creating child device failure, I would
> give a warning message and continue to create other child devices if
> any. So I would write:
> 
> -------------------------------8<-----------------------------------
>         for_each_available_child_of_node(dev->of_node, np) {
>                 child = of_platform_device_create(np, NULL, dev);
>                 if (!child)
>                         dev_warn(dev, "failed to create device for
> %pOF\n", child);
>         }
> -------------------------------8<-----------------------------------
> 
> Even if return is used, dev_pm_genpd_remove_notifier() should be
> called
> to bailout correctly.
> 
> Regards,
> Liu Ying
> 
> > +	}
> > +
> >  	return 0;
> >  
> >  cleanup_provider:
> 
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2023-02-20  2:59 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-18 23:54 [PATCH 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Marek Vasut
2023-02-18 23:54 ` Marek Vasut
2023-02-18 23:54 ` [PATCH 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB into DT example Marek Vasut
2023-02-18 23:54   ` Marek Vasut
2023-02-20  2:17   ` Liu Ying
2023-02-20  2:17     ` Liu Ying
2023-02-18 23:54 ` [PATCH 3/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl Marek Vasut
2023-02-18 23:54   ` Marek Vasut
2023-02-20  2:25   ` Liu Ying
2023-02-20  2:25     ` Liu Ying
2023-02-18 23:54 ` [PATCH 4/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them Marek Vasut
2023-02-18 23:54   ` Marek Vasut
2023-02-20  2:39   ` Liu Ying
2023-02-20  2:39     ` Liu Ying
2023-02-20  2:57     ` Liu Ying
2023-02-20  2:57       ` Liu Ying
2023-02-20  2:16 ` [PATCH 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Liu Ying
2023-02-20  2:16   ` Liu Ying

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.