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

Message ID 6fftq2zlkpaf7xptyff6ky63cinr76ziyvdbm5jhj2apubr5vf@l4gvbdax3l2e
State New
Headers
Series memory: omap-gpmc: fixup wrongly hierarchy of the sub-devices |

Commit Message

Brock Zheng Feb. 29, 2024, 11:52 p.m. UTC
  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(-)
  

Comments

Roger Quadros March 1, 2024, 11:22 a.m. UTC | #1
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;
  
Krzysztof Kozlowski March 1, 2024, 11:40 a.m. UTC | #2
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
  
Andreas Kemnade March 1, 2024, 12:38 p.m. UTC | #3
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
  
Roger Quadros March 1, 2024, 1:41 p.m. UTC | #4
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.
  
Brock Zheng March 1, 2024, 11:57 p.m. UTC | #5
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;
  
Krzysztof Kozlowski March 2, 2024, 4:25 p.m. UTC | #6
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
  

Patch

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;