[PATCH] memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices

Brock.Zheng posted 1 patch 1 year, 11 months ago
There is a newer version of this series
drivers/memory/omap-gpmc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
[PATCH] memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Brock.Zheng 1 year, 11 months ago
On TI-AM335x,my FPGA under GPMC local-bus can not work on 6.x kernel.

GPMC <--> FPGA  <--> sub-devices....

I found that the platform sub-devices is in wrongly organized
hierarchy.  The grandchildren are now under the GPMC device
directly, not under it's father(FPGA).

Signed-off-by: Brock.Zheng <yzheng@techyauld.com>
---
 drivers/memory/omap-gpmc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index 80d038884207..1f2568e43086 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -2175,6 +2175,7 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
	int ret, cs;
	u32 val;
	struct gpmc_device *gpmc = platform_get_drvdata(pdev);
+	struct platform_device *child_pdev = NULL;
 
	if (of_property_read_u32(child, "reg", &cs) < 0) {
		dev_err(&pdev->dev, "%pOF has no 'reg' property\n",
@@ -2330,11 +2331,12 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
 no_timings:
 
	/* create platform device, NULL on error or when disabled */
-	if (!of_platform_device_create(child, NULL, &pdev->dev))
+	child_pdev = of_platform_device_create(child, NULL, &pdev->dev);
+	if (!child_pdev)
		goto err_child_fail;
 
	/* create children and other common bus children */
-	if (of_platform_default_populate(child, NULL, &pdev->dev))
+	if (of_platform_default_populate(child, NULL, &child_pdev->dev))
		goto err_child_fail;
 
	return 0;
-- 
2.44.0


Re: [PATCH] memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Krzysztof Kozlowski 1 year, 11 months ago
On 01/03/2024 00:52, Brock.Zheng wrote:
> On TI-AM335x,my FPGA under GPMC local-bus can not work on 6.x kernel.
> 
> GPMC <--> FPGA  <--> sub-devices....
> 
> I found that the platform sub-devices is in wrongly organized
> hierarchy.  The grandchildren are now under the GPMC device
> directly, not under it's father(FPGA).
> 
> Signed-off-by: Brock.Zheng <yzheng@techyauld.com>

The dot '.' does not look like part of the name. Are you sure you
transliterated/translated your name correctly?

Also, please provide Fixes tag (see submitting patches document).

Your patch confused my mailer. It looks like HTML, but it seems it is
not. Maybe because of Content-Disposition: inline? Why do you have it?

Best regards,
Krzysztof

Re: [PATCH] memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Roger Quadros 1 year, 11 months ago
Hi,

Thanks for the patch but can you please re-send the patch in plain text format?
Please refer to this article for more details.

https://subspace.kernel.org/etiquette.html

On 01/03/2024 01:52, Brock.Zheng wrote:
> On TI-AM335x,my FPGA under GPMC local-bus can not work on 6.x kernel.
> 
> GPMC <--> FPGA  <--> sub-devices....
> 
> I found that the platform sub-devices is in wrongly organized
> hierarchy.  The grandchildren are now under the GPMC device
> directly, not under it's father(FPGA).> 
> Signed-off-by: Brock.Zheng <yzheng@techyauld.com>
> ---
>  drivers/memory/omap-gpmc.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
> index 80d038884207..1f2568e43086 100644
> --- a/drivers/memory/omap-gpmc.c
> +++ b/drivers/memory/omap-gpmc.c
> @@ -2175,6 +2175,7 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
> 	int ret, cs;
> 	u32 val;
> 	struct gpmc_device *gpmc = platform_get_drvdata(pdev);
> +	struct platform_device *child_pdev = NULL;
>  
> 	if (of_property_read_u32(child, "reg", &cs) < 0) {
> 		dev_err(&pdev->dev, "%pOF has no 'reg' property\n",
> @@ -2330,11 +2331,12 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
>  no_timings:
>  
> 	/* create platform device, NULL on error or when disabled */
> -	if (!of_platform_device_create(child, NULL, &pdev->dev))
> +	child_pdev = of_platform_device_create(child, NULL, &pdev->dev);
> +	if (!child_pdev)
> 		goto err_child_fail;
>  
> 	/* create children and other common bus children */
> -	if (of_platform_default_populate(child, NULL, &pdev->dev))
> +	if (of_platform_default_populate(child, NULL, &child_pdev->dev))
> 		goto err_child_fail;
>  
> 	return 0;

-- 
cheers,
-roger
Re: [PATCH] memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Andreas Kemnade 1 year, 11 months ago
Hi,

On Fri, 1 Mar 2024 13:22:12 +0200
Roger Quadros <rogerq@kernel.org> wrote:

> Hi,
> 
> Thanks for the patch but can you please re-send the patch in plain text format?
> Please refer to this article for more details.
> 
> https://subspace.kernel.org/etiquette.html
> 
for my own education, can you specify against what the patch excactly offends?
I see no html there and

Content-Type: text/plain; charset=gb2312

So what do you consider not "plain" in that email?

Regards,
Andreas
Re: [PATCH] memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Roger Quadros 1 year, 11 months ago

On 01/03/2024 14:38, Andreas Kemnade wrote:
> Hi,
> 
> On Fri, 1 Mar 2024 13:22:12 +0200
> Roger Quadros <rogerq@kernel.org> wrote:
> 
>> Hi,
>>
>> Thanks for the patch but can you please re-send the patch in plain text format?
>> Please refer to this article for more details.
>>
>> https://subspace.kernel.org/etiquette.html
>>
> for my own education, can you specify against what the patch excactly offends?
> I see no html there and
> 
> Content-Type: text/plain; charset=gb2312
> 
> So what do you consider not "plain" in that email?
> 

I think I observed the same issue as Krzysztof. My mail client shows it like HTML
even though it is not.

-- 
cheers,
-roger
Re: [PATCH] memory/omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Brock Zheng 1 year, 11 months ago
Hi, all

Sorry for the wrong mail Content-Type. My Neomutt is not configured correctly.
Updated info here:

On TI-AM335x,my FPGA under GPMC local-bus can not work on 6.x kernel.

GPMC <--> FPGA  <--> sub-devices....

I found that the platform sub-devices are in wrongly organized
hierarchy.  The grandchildren are now under the GPMC device directly,
not under it's father(FPGA).

Signed-off-by: Brock.Zheng <yzheng@techyauld.com>
---
 drivers/memory/omap-gpmc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
index 80d038884207..1f2568e43086 100644
--- a/drivers/memory/omap-gpmc.c
+++ b/drivers/memory/omap-gpmc.c
@@ -2175,6 +2175,7 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
	int ret, cs;
	u32 val;
	struct gpmc_device *gpmc = platform_get_drvdata(pdev);
+	struct platform_device *child_pdev = NULL;
 
	if (of_property_read_u32(child, "reg", &cs) < 0) {
		dev_err(&pdev->dev, "%pOF has no 'reg' property\n",
@@ -2330,11 +2331,12 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
 no_timings:
 
	/* create platform device, NULL on error or when disabled */
-	if (!of_platform_device_create(child, NULL, &pdev->dev))
+	child_pdev = of_platform_device_create(child, NULL, &pdev->dev);
+	if (!child_pdev)
		goto err_child_fail;
 
	/* create children and other common bus children */
-	if (of_platform_default_populate(child, NULL, &pdev->dev))
+	if (of_platform_default_populate(child, NULL, &child_pdev->dev))
		goto err_child_fail;
 
	return 0;
-- 
2.44.0


Re: [PATCH] memory/omap-gpmc: fixup wrongly hierarchy of the sub-devices
Posted by Krzysztof Kozlowski 1 year, 11 months ago
On 02/03/2024 00:57, Brock Zheng wrote:
> Hi, all
> 
> Sorry for the wrong mail Content-Type. My Neomutt is not configured correctly.
> Updated info here:
> 
> On TI-AM335x,my FPGA under GPMC local-bus can not work on 6.x kernel.
> 
> GPMC <--> FPGA  <--> sub-devices....
> 

I don't know what to do with this. Apply this patch yourself and check
the result - is this what you want in commit msg?

Best regards,
Krzysztof