* [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name
@ 2023-02-21 15:28 Marek Vasut
2023-02-21 15:28 ` [PATCH v3 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB subnode into schema and example Marek Vasut
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Marek Vasut @ 2023-02-21 15:28 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Liu Ying, 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.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
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
---
V2: Adjust the label too
V3: - Add RB from Liu
- Drop the label
---
.../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..a0f7c73510d04 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 {
+ 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] 9+ messages in thread
* [PATCH v3 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB subnode into schema and example
2023-02-21 15:28 [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Marek Vasut
@ 2023-02-21 15:28 ` Marek Vasut
2023-02-21 15:28 ` [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them Marek Vasut
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Marek Vasut @ 2023-02-21 15:28 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Krzysztof Kozlowski, Liu Ying, 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.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Liu Ying <victor.liu@nxp.com>
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
---
V2: Add RB from Liu
V3: - Update commit subject and drop space before fullstop.
- Add RB from Krzysztof
---
.../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 a0f7c73510d04..f092916dc8594 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] 9+ messages in thread
* [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
2023-02-21 15:28 [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Marek Vasut
2023-02-21 15:28 ` [PATCH v3 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB subnode into schema and example Marek Vasut
@ 2023-02-21 15:28 ` Marek Vasut
2023-02-21 17:09 ` Lucas Stach
2023-02-22 2:37 ` Liu Ying
2023-02-21 15:28 ` [PATCH v3 4/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl Marek Vasut
2023-02-22 8:43 ` [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Krzysztof Kozlowski
3 siblings, 2 replies; 9+ messages in thread
From: Marek Vasut @ 2023-02-21 15:28 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Liu Ying, 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.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
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
---
V2: - Turn this into 3/4
- Warn and continue in case of error
V3: Add RB from Liu
---
drivers/soc/imx/imx8m-blk-ctrl.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index 399cb85105a18..4f5736e612fb0 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,13 @@ 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)
+ continue;
+ dev_warn(dev, "failed to create device for %pOF\n", np);
+ }
+
return 0;
cleanup_provider:
--
2.39.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v3 4/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl
2023-02-21 15:28 [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Marek Vasut
2023-02-21 15:28 ` [PATCH v3 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB subnode into schema and example Marek Vasut
2023-02-21 15:28 ` [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them Marek Vasut
@ 2023-02-21 15:28 ` Marek Vasut
2023-02-22 8:43 ` [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Krzysztof Kozlowski
3 siblings, 0 replies; 9+ messages in thread
From: Marek Vasut @ 2023-02-21 15:28 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Liu Ying, 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.
Reviewed-by: Liu Ying <victor.liu@nxp.com>
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
---
V2: Turn this into 4/4
V3: Add RB from Liu
---
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] 9+ messages in thread
* Re: [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
2023-02-21 15:28 ` [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them Marek Vasut
@ 2023-02-21 17:09 ` Lucas Stach
2023-02-21 18:57 ` Marek Vasut
2023-02-22 2:37 ` Liu Ying
1 sibling, 1 reply; 9+ messages in thread
From: Lucas Stach @ 2023-02-21 17:09 UTC (permalink / raw)
To: Marek Vasut, linux-arm-kernel
Cc: Liu Ying, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
Laurent Pinchart, NXP Linux Team, Paul Elder, Peng Fan,
Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree
Hi Marek,
Am Dienstag, dem 21.02.2023 um 16:28 +0100 schrieb Marek Vasut:
> 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.
>
> Reviewed-by: Liu Ying <victor.liu@nxp.com>
> 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
> ---
> V2: - Turn this into 3/4
> - Warn and continue in case of error
> V3: Add RB from Liu
> ---
> drivers/soc/imx/imx8m-blk-ctrl.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
> index 399cb85105a18..4f5736e612fb0 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,13 @@ 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)
> + continue;
> + dev_warn(dev, "failed to create device for %pOF\n", np);
> + }
Any reason for not using devm_of_platform_populate() instead?
Regards,
Lucas
> +
> return 0;
>
> cleanup_provider:
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
2023-02-21 17:09 ` Lucas Stach
@ 2023-02-21 18:57 ` Marek Vasut
2023-02-22 9:20 ` Lucas Stach
0 siblings, 1 reply; 9+ messages in thread
From: Marek Vasut @ 2023-02-21 18:57 UTC (permalink / raw)
To: Lucas Stach, linux-arm-kernel
Cc: Liu Ying, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
Laurent Pinchart, NXP Linux Team, Paul Elder, Peng Fan,
Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree
On 2/21/23 18:09, Lucas Stach wrote:
[...]
>> @@ -310,6 +312,13 @@ 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)
>> + continue;
>> + dev_warn(dev, "failed to create device for %pOF\n", np);
>> + }
>
> Any reason for not using devm_of_platform_populate() instead?
Yes, lack of awareness of that option.
Do I read it right that this gets rid of the whole loop implementation
here and replaces it with single function call ?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
2023-02-21 15:28 ` [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them Marek Vasut
2023-02-21 17:09 ` Lucas Stach
@ 2023-02-22 2:37 ` Liu Ying
1 sibling, 0 replies; 9+ messages in thread
From: Liu Ying @ 2023-02-22 2:37 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 Tue, 2023-02-21 at 16:28 +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.
>
> Reviewed-by: Liu Ying <victor.liu@nxp.com>
> 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
> ---
> V2: - Turn this into 3/4
> - Warn and continue in case of error
> V3: Add RB from Liu
> ---
> drivers/soc/imx/imx8m-blk-ctrl.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
> index 399cb85105a18..4f5736e612fb0 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,13 @@ 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)
> + continue;
> + dev_warn(dev, "failed to create device for %pOF\n", np);
> + }
I'm just aware of that it's necessary to call
of_platform_device_destroy() for each created child device in
imx8m_blk_ctrl_remove(). But, it doesn't seem to be easy. So, I'd like
to retrieve my R-b tag, sorry.
Regards,
Liu Ying
> +
> return 0;
>
> cleanup_provider:
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name
2023-02-21 15:28 [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Marek Vasut
` (2 preceding siblings ...)
2023-02-21 15:28 ` [PATCH v3 4/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl Marek Vasut
@ 2023-02-22 8:43 ` Krzysztof Kozlowski
3 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2023-02-22 8:43 UTC (permalink / raw)
To: Marek Vasut, linux-arm-kernel
Cc: Liu Ying, 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 21/02/2023 16:28, Marek Vasut wrote:
> #include <dt-bindings/clock/imx8mp-clock.h>
> #include <dt-bindings/power/imx8mp-power.h>
>
> - media_blk_ctl: blk-ctl@32ec0000 {
> + blk-ctrl@32ec0000 {
Ah, I think I missed in the previous version of patch that you actually
update the node name.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them
2023-02-21 18:57 ` Marek Vasut
@ 2023-02-22 9:20 ` Lucas Stach
0 siblings, 0 replies; 9+ messages in thread
From: Lucas Stach @ 2023-02-22 9:20 UTC (permalink / raw)
To: Marek Vasut, linux-arm-kernel
Cc: Liu Ying, Alexander Stein, Fabio Estevam, Krzysztof Kozlowski,
Laurent Pinchart, NXP Linux Team, Paul Elder, Peng Fan,
Pengutronix Kernel Team, Richard Cochran, Richard Zhu,
Rob Herring, Sascha Hauer, Shawn Guo, devicetree
Am Dienstag, dem 21.02.2023 um 19:57 +0100 schrieb Marek Vasut:
> On 2/21/23 18:09, Lucas Stach wrote:
>
> [...]
>
> > > @@ -310,6 +312,13 @@ 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)
> > > + continue;
> > > + dev_warn(dev, "failed to create device for %pOF\n", np);
> > > + }
> >
> > Any reason for not using devm_of_platform_populate() instead?
>
> Yes, lack of awareness of that option.
>
> Do I read it right that this gets rid of the whole loop implementation
> here and replaces it with single function call ?
That's right. And it will also do the necessary
of_platform_device_destroy() to clean things up when the parent device
is removed.
Regards,
Lucas
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-02-22 9:21 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-21 15:28 [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Marek Vasut
2023-02-21 15:28 ` [PATCH v3 2/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Add LDB subnode into schema and example Marek Vasut
2023-02-21 15:28 ` [PATCH v3 3/4] soc: imx: imx8m-blk-ctrl: Scan subnodes and bind drivers to them Marek Vasut
2023-02-21 17:09 ` Lucas Stach
2023-02-21 18:57 ` Marek Vasut
2023-02-22 9:20 ` Lucas Stach
2023-02-22 2:37 ` Liu Ying
2023-02-21 15:28 ` [PATCH v3 4/4] arm64: dts: imx8mp: Drop simple-bus from fsl,imx8mp-media-blk-ctrl Marek Vasut
2023-02-22 8:43 ` [PATCH v3 1/4] dt-bindings: soc: imx8mp-media-blk-ctrl: Align block controller example name Krzysztof Kozlowski
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).