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

From: Randy Dunlap
Date: Thu Jan 05 2017 - 11:08:49 EST


On 01/05/17 00:01, Daniel Vetter wrote:
> On Wed, Jan 04, 2017 at 02:24:51PM -0800, Randy Dunlap wrote:
>> On 01/04/17 11:29, Jani Nikula wrote:
>>> On Wed, 04 Jan 2017, 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.
>>>
>>> Randy, this results in the following recursive dependency using the
>>> attached config.
>>>
>>
>> Hi,
>> Please drop the patch for now. If there is an alternative patch,
>> that's good. Otherwise I'll look for a solution.
>
> Ok, pushed a revert. I guess I'll stop touching Kconfig stuff again for
> the next few months ;-)

:)

That particular circular/recursive dependency is ugly. I spent about
one hour trying/testing various fixes and don't have one.

--
~Randy