Re: [PATCH] drm: nouveau: fix build when LEDS_CLASS=m

From: Ilia Mirkin
Date: Wed Jan 04 2017 - 22:10:35 EST


On Wed, Jan 4, 2017 at 9:52 PM, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> On 01/04/17 06:25, Ilia Mirkin wrote:
>> On Wed, Jan 4, 2017 at 3:45 AM, Daniel Vetter <daniel@xxxxxxxx> wrote:
>>> On Sun, Jan 01, 2017 at 04:20:53PM -0800, Randy Dunlap wrote:
>>>> From: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>>>>
>>>> Fix build errors in nouveau driver when CONFIG_LEDS_CLASS=m and
>>>> CONFIG_DRM_NOUVEAU=y.
>>>> If LEDS_CLASS is enabled, DRM_NOUVEAU is restricted to the same
>>>> kconfig value as LEDS_CLASS.
>>>>
>>>> drivers/built-in.o: In function `nouveau_do_suspend':
>>>> nouveau_drm.c:(.text+0x2030b1): undefined reference to `nouveau_led_suspend'
>>>> drivers/built-in.o: In function `nouveau_do_resume':
>>>> nouveau_drm.c:(.text+0x2034ca): undefined reference to `nouveau_led_resume'
>>>> drivers/built-in.o: In function `nouveau_drm_unload':
>>>> nouveau_drm.c:(.text+0x203a15): undefined reference to `nouveau_led_fini'
>>>> drivers/built-in.o: In function `nouveau_drm_load':
>>>> nouveau_drm.c:(.text+0x204423): undefined reference to `nouveau_led_init'
>>>>
>>>> BTW, this line in Kbuild:
>>>> nouveau-$(CONFIG_LEDS_CLASS) += nouveau_led.o
>>>> does nothing when CONFIG_LEDS_CLASS=m and CONFIG_DRM_NOUVEAU=y.
>>>>
>>>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>>>> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
>>>> Cc: Martin Peres <martin.peres@xxxxxxx>
>>>> Cc: Ben Skeggs <bskeggs@xxxxxxxxxx>
>>>
>>> Thrown into drm-misc, thanks.
>>> -Daniel
>>
>> Wasn't there already a different solution from Martin for this, using
>> IS_REACHABLE, instead of adding a dependency in Kconfig?
>
> nouveau_led.h contains a few lines that are bounded by
> #if IS_ENABLED(CONFIG_LEDS_CLASS)
>
> but that's not sufficient.
>
> Is there another patch?

https://lists.freedesktop.org/archives/nouveau/2016-December/026744.html

Not sure why it's not upstream yet. I guess Ben missed it?

-ilia