On 2/1/22 10:44, Andy Shevchenko wrote: > On Tue, Feb 01, 2022 at 01:14:22AM +0100, Javier Martinez Canillas wrote: >> On 1/31/22 22:30, Sam Ravnborg wrote: >>> On Mon, Jan 31, 2022 at 09:29:16PM +0100, Javier Martinez Canillas wrote: > > ... > >>> The driver uses the pwms property for the backlight. >>> It would have been much better to bite the bullet and require the >>> backlight to be specified using a backlight node in the DT. >>> This is the standard way to do it and then the driver could use the >>> existing backlight driver rather than embedding a backlight driver here. >>> >> >> I did consider that. Because that would allow me to use a struct drm_panel >> and as you said make the core to manage the backlight. But then decied to >> just keep the backward compatibility with the existing binding to make it >> easier for users to migrate to the DRM driver. >> >> I wonder if we could make the driver to support both ? That is, to query >> if there's a backlight with drm_panel_of_backlight() and if not found then >> registering it's own backlight like the driver is currently doing. > > If we keep 100% backward compatibility, just drop the old driver. > After all module name is not so important as compatibility strings. > As mentioned I don't believe those two things are related. You could make it backward compatible but still keep the old driver around until no one else would care about it. This DRM driver is brand new and there may be bugs, performance issues and whatnot. At least I won't propose to remove the old fbdev driver but would want people using DRM to have a choice. > The problem with no backward compatibility means that removal of old driver > makes users unhappy since DT is kinda ABI and we do not break it. > I think that's the crux of the issue. Do we want people to update their kernel but using their existing Device Tree and be able to switch to the DRM driver ? My take is that we should and that's why I kept the backward compatibility. Maybe we could do that in the meantime and at some point introduce new DT bindings (with a different compatible string) that would use the latest and greatest conventions in DT ? That seems to be a good compromise. Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat