diff mbox

drm/panel: rm68200: add backlight dependency

Message ID 20180313210015.3344380-1-arnd@arndb.de (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann March 13, 2018, 8:59 p.m. UTC
Like many other panel drivers, this one fails to build
when backlight support is disabled:

drivers/gpu/drm/panel/panel-raydium-rm68200.o: In function `rm68200_probe':
panel-raydium-rm68200.c:(.text+0x14a): undefined reference to `devm_of_find_backlight'

This adds the appropriate dependency.

Fixes: 2b7ed18bed1a ("drm/panel: Add support for Raydium RM68200 panel driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/panel/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Thierry Reding March 13, 2018, 11:01 p.m. UTC | #1
On Tue, Mar 13, 2018 at 09:59:54PM +0100, Arnd Bergmann wrote:
> Like many other panel drivers, this one fails to build
> when backlight support is disabled:
> 
> drivers/gpu/drm/panel/panel-raydium-rm68200.o: In function `rm68200_probe':
> panel-raydium-rm68200.c:(.text+0x14a): undefined reference to `devm_of_find_backlight'
> 
> This adds the appropriate dependency.
> 
> Fixes: 2b7ed18bed1a ("drm/panel: Add support for Raydium RM68200 panel driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/gpu/drm/panel/Kconfig | 1 +
>  1 file changed, 1 insertion(+)

This shouldn't be necessary. include/linux/backlight.h defines a stub if
the backlight class is not enabled.

What tree are you seeing this on?

Thierry
Arnd Bergmann March 14, 2018, 8:49 a.m. UTC | #2
On Wed, Mar 14, 2018 at 12:01 AM, Thierry Reding
<thierry.reding@gmail.com> wrote:
> On Tue, Mar 13, 2018 at 09:59:54PM +0100, Arnd Bergmann wrote:
>> Like many other panel drivers, this one fails to build
>> when backlight support is disabled:
>>
>> drivers/gpu/drm/panel/panel-raydium-rm68200.o: In function `rm68200_probe':
>> panel-raydium-rm68200.c:(.text+0x14a): undefined reference to `devm_of_find_backlight'
>>
>> This adds the appropriate dependency.
>>
>> Fixes: 2b7ed18bed1a ("drm/panel: Add support for Raydium RM68200 panel driver")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>>  drivers/gpu/drm/panel/Kconfig | 1 +
>>  1 file changed, 1 insertion(+)
>
> This shouldn't be necessary. include/linux/backlight.h defines a stub if
> the backlight class is not enabled.
>
> What tree are you seeing this on?

This is on linux-next.

It must be with BACKLIGHT_CLASS_DEVICE=m and
DRM_PANEL_RAYDIUM_RM68200=y, meaning that it should
be sufficient to do

    depends on BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=n

to force DRM_PANEL_RAYDIUM_RM68200 to be a loadable module
whenever BACKLIGHT_CLASS_DEVICE=m. For the patch, I looked at
what the other drivers in the same directory do and followed their
example.

I see three options here:

1. update my patch changelog with the explanation I wrote here but leave it
    untouched
2. use the more elaborate dependency (after testing) but not change the
    others
3. change all panel drivers with a backlight dependency the same way,
    possibly with a helper symbol like

config BACKLIGHT_CLASS_DEVICE_OPTIONAL
         tristate
         default m if BACKLIGHT_CLASS_DEVICE=m
         default y

      Arnd
Thierry Reding March 14, 2018, 10:52 a.m. UTC | #3
On Wed, Mar 14, 2018 at 09:49:54AM +0100, Arnd Bergmann wrote:
> On Wed, Mar 14, 2018 at 12:01 AM, Thierry Reding
> <thierry.reding@gmail.com> wrote:
> > On Tue, Mar 13, 2018 at 09:59:54PM +0100, Arnd Bergmann wrote:
> >> Like many other panel drivers, this one fails to build
> >> when backlight support is disabled:
> >>
> >> drivers/gpu/drm/panel/panel-raydium-rm68200.o: In function `rm68200_probe':
> >> panel-raydium-rm68200.c:(.text+0x14a): undefined reference to `devm_of_find_backlight'
> >>
> >> This adds the appropriate dependency.
> >>
> >> Fixes: 2b7ed18bed1a ("drm/panel: Add support for Raydium RM68200 panel driver")
> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> >> ---
> >>  drivers/gpu/drm/panel/Kconfig | 1 +
> >>  1 file changed, 1 insertion(+)
> >
> > This shouldn't be necessary. include/linux/backlight.h defines a stub if
> > the backlight class is not enabled.
> >
> > What tree are you seeing this on?
> 
> This is on linux-next.
> 
> It must be with BACKLIGHT_CLASS_DEVICE=m and
> DRM_PANEL_RAYDIUM_RM68200=y, meaning that it should
> be sufficient to do
> 
>     depends on BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=n
> 
> to force DRM_PANEL_RAYDIUM_RM68200 to be a loadable module
> whenever BACKLIGHT_CLASS_DEVICE=m. For the patch, I looked at
> what the other drivers in the same directory do and followed their
> example.
> 
> I see three options here:
> 
> 1. update my patch changelog with the explanation I wrote here but leave it
>     untouched
> 2. use the more elaborate dependency (after testing) but not change the
>     others
> 3. change all panel drivers with a backlight dependency the same way,
>     possibly with a helper symbol like
> 
> config BACKLIGHT_CLASS_DEVICE_OPTIONAL
>          tristate
>          default m if BACKLIGHT_CLASS_DEVICE=m
>          default y
> 
>       Arnd

I went with option 1) and added some text that hopefully clarifies the
issue.

	https://cgit.freedesktop.org/drm/drm-misc/commit/?id=a8efe516316472ac771ba3f591295c7515e46172

Thierry
diff mbox

Patch

diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
index 077bc58c1913..25682ff3449a 100644
--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -112,6 +112,7 @@  config DRM_PANEL_RAYDIUM_RM68200
 	tristate "Raydium RM68200 720x1280 DSI video mode panel"
 	depends on OF
 	depends on DRM_MIPI_DSI
+	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to enable support for Raydium RM68200
 	  720x1280 DSI video mode panel.