of: Preserve "of-display" device name for compatibility

Message ID 20230710174007.2291013-1-robh@kernel.org
State New
Headers
Series of: Preserve "of-display" device name for compatibility |

Commit Message

Rob Herring July 10, 2023, 5:40 p.m. UTC
  Since commit 241d2fb56a18 ("of: Make OF framebuffer device names unique"),
as spotted by Frédéric Bonnard, the historical "of-display" device is
gone: the updated logic creates "of-display.0" instead, then as many
"of-display.N" as required.

This means that offb no longer finds the expected device, which prevents
the Debian Installer from setting up its interface, at least on ppc64el.

Fix this by keeping "of-display" for the first device and "of-display.N"
for subsequent devices.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=217328
Link: https://bugs.debian.org/1033058
Fixes: 241d2fb56a18 ("of: Make OF framebuffer device names unique")
Cc: stable@vger.kernel.org
Cc: Cyril Brulebois <cyril@debamax.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Helge Deller <deller@gmx.de>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 drivers/of/platform.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Michal Suchánek July 10, 2023, 5:46 p.m. UTC | #1
On Mon, Jul 10, 2023 at 11:40:07AM -0600, Rob Herring wrote:
> Since commit 241d2fb56a18 ("of: Make OF framebuffer device names unique"),
> as spotted by Frédéric Bonnard, the historical "of-display" device is
> gone: the updated logic creates "of-display.0" instead, then as many
> "of-display.N" as required.
> 
> This means that offb no longer finds the expected device, which prevents
> the Debian Installer from setting up its interface, at least on ppc64el.
> 
> Fix this by keeping "of-display" for the first device and "of-display.N"
> for subsequent devices.
> 
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217328
> Link: https://bugs.debian.org/1033058
> Fixes: 241d2fb56a18 ("of: Make OF framebuffer device names unique")
> Cc: stable@vger.kernel.org
> Cc: Cyril Brulebois <cyril@debamax.com>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Helge Deller <deller@gmx.de>
> Signed-off-by: Rob Herring <robh@kernel.org>

This is exclusive with the other patchset that updates the other side:
https://lore.kernel.org/lkml/20230412095509.2196162-1-cyril@debamax.com/

Reviewed-by: Michal Suchánek <msuchanek@suse.de>

Thanks

Michal

> ---
>  drivers/of/platform.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/of/platform.c b/drivers/of/platform.c
> index 051e29b7ad2b..0c3475e7d2ff 100644
> --- a/drivers/of/platform.c
> +++ b/drivers/of/platform.c
> @@ -552,7 +552,7 @@ static int __init of_platform_default_populate_init(void)
>  			if (!of_get_property(node, "linux,opened", NULL) ||
>  			    !of_get_property(node, "linux,boot-display", NULL))
>  				continue;
> -			dev = of_platform_device_create(node, "of-display.0", NULL);
> +			dev = of_platform_device_create(node, "of-display", NULL);
>  			of_node_put(node);
>  			if (WARN_ON(!dev))
>  				return -ENOMEM;
> -- 
> 2.40.1
>
  
Thomas Zimmermann July 11, 2023, 6 a.m. UTC | #2
Am 10.07.23 um 19:40 schrieb Rob Herring:
> Since commit 241d2fb56a18 ("of: Make OF framebuffer device names unique"),
> as spotted by Frédéric Bonnard, the historical "of-display" device is
> gone: the updated logic creates "of-display.0" instead, then as many
> "of-display.N" as required.
> 
> This means that offb no longer finds the expected device, which prevents
> the Debian Installer from setting up its interface, at least on ppc64el.
> 
> Fix this by keeping "of-display" for the first device and "of-display.N"
> for subsequent devices.
> 
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217328
> Link: https://bugs.debian.org/1033058
> Fixes: 241d2fb56a18 ("of: Make OF framebuffer device names unique")
> Cc: stable@vger.kernel.org
> Cc: Cyril Brulebois <cyril@debamax.com>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Helge Deller <deller@gmx.de>
> Signed-off-by: Rob Herring <robh@kernel.org>

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---
>   drivers/of/platform.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/of/platform.c b/drivers/of/platform.c
> index 051e29b7ad2b..0c3475e7d2ff 100644
> --- a/drivers/of/platform.c
> +++ b/drivers/of/platform.c
> @@ -552,7 +552,7 @@ static int __init of_platform_default_populate_init(void)
>   			if (!of_get_property(node, "linux,opened", NULL) ||
>   			    !of_get_property(node, "linux,boot-display", NULL))
>   				continue;
> -			dev = of_platform_device_create(node, "of-display.0", NULL);
> +			dev = of_platform_device_create(node, "of-display", NULL);
>   			of_node_put(node);
>   			if (WARN_ON(!dev))
>   				return -ENOMEM;

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
  
Helge Deller July 11, 2023, 3:46 p.m. UTC | #3
On 7/11/23 08:00, Thomas Zimmermann wrote:
>
>
> Am 10.07.23 um 19:40 schrieb Rob Herring:
>> Since commit 241d2fb56a18 ("of: Make OF framebuffer device names unique"),
>> as spotted by Frédéric Bonnard, the historical "of-display" device is
>> gone: the updated logic creates "of-display.0" instead, then as many
>> "of-display.N" as required.
>>
>> This means that offb no longer finds the expected device, which prevents
>> the Debian Installer from setting up its interface, at least on ppc64el.
>>
>> Fix this by keeping "of-display" for the first device and "of-display.N"
>> for subsequent devices.
>>
>> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217328
>> Link: https://bugs.debian.org/1033058
>> Fixes: 241d2fb56a18 ("of: Make OF framebuffer device names unique")
>> Cc: stable@vger.kernel.org
>> Cc: Cyril Brulebois <cyril@debamax.com>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: Helge Deller <deller@gmx.de>
>> Signed-off-by: Rob Herring <robh@kernel.org>
>
> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

Acked-by: Helge Deller <deller@gmx.de>

Who will pick up that patch?
Shall I take it via fbdev git tree?

Helge

>
>> ---
>>   drivers/of/platform.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/of/platform.c b/drivers/of/platform.c
>> index 051e29b7ad2b..0c3475e7d2ff 100644
>> --- a/drivers/of/platform.c
>> +++ b/drivers/of/platform.c
>> @@ -552,7 +552,7 @@ static int __init of_platform_default_populate_init(void)
>>               if (!of_get_property(node, "linux,opened", NULL) ||
>>                   !of_get_property(node, "linux,boot-display", NULL))
>>                   continue;
>> -            dev = of_platform_device_create(node, "of-display.0", NULL);
>> +            dev = of_platform_device_create(node, "of-display", NULL);
>>               of_node_put(node);
>>               if (WARN_ON(!dev))
>>                   return -ENOMEM;
>
  
Rob Herring July 11, 2023, 5:05 p.m. UTC | #4
On Tue, Jul 11, 2023 at 9:46 AM Helge Deller <deller@gmx.de> wrote:
>
> On 7/11/23 08:00, Thomas Zimmermann wrote:
> >
> >
> > Am 10.07.23 um 19:40 schrieb Rob Herring:
> >> Since commit 241d2fb56a18 ("of: Make OF framebuffer device names unique"),
> >> as spotted by Frédéric Bonnard, the historical "of-display" device is
> >> gone: the updated logic creates "of-display.0" instead, then as many
> >> "of-display.N" as required.
> >>
> >> This means that offb no longer finds the expected device, which prevents
> >> the Debian Installer from setting up its interface, at least on ppc64el.
> >>
> >> Fix this by keeping "of-display" for the first device and "of-display.N"
> >> for subsequent devices.
> >>
> >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217328
> >> Link: https://bugs.debian.org/1033058
> >> Fixes: 241d2fb56a18 ("of: Make OF framebuffer device names unique")
> >> Cc: stable@vger.kernel.org
> >> Cc: Cyril Brulebois <cyril@debamax.com>
> >> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> >> Cc: Helge Deller <deller@gmx.de>
> >> Signed-off-by: Rob Herring <robh@kernel.org>
> >
> > Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
>
> Acked-by: Helge Deller <deller@gmx.de>
>
> Who will pick up that patch?
> Shall I take it via fbdev git tree?

I'll take it. I've got other fixes queued up already.

Rob
  

Patch

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index 051e29b7ad2b..0c3475e7d2ff 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -552,7 +552,7 @@  static int __init of_platform_default_populate_init(void)
 			if (!of_get_property(node, "linux,opened", NULL) ||
 			    !of_get_property(node, "linux,boot-display", NULL))
 				continue;
-			dev = of_platform_device_create(node, "of-display.0", NULL);
+			dev = of_platform_device_create(node, "of-display", NULL);
 			of_node_put(node);
 			if (WARN_ON(!dev))
 				return -ENOMEM;