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

Randy Dunlap rdunlap at infradead.org
Wed Jan 4 22:24:51 UTC 2017


On 01/04/17 11:29, Jani Nikula wrote:
> On Wed, 04 Jan 2017, Daniel Vetter <daniel at ffwll.ch> wrote:
>> On Sun, Jan 01, 2017 at 04:20:53PM -0800, Randy Dunlap wrote:
>>> From: Randy Dunlap <rdunlap at infradead.org>
>>>
>>> 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 at infradead.org>
>>> Reported-by: kbuild test robot <fengguang.wu at intel.com>
>>> Cc: Martin Peres <martin.peres at free.fr>
>>> Cc: Ben Skeggs <bskeggs at redhat.com>
>>
>> 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.

Thanks.

> BR,
> Jani.
> 
> 
> drivers/usb/Kconfig:39:error: recursive dependency detected!
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/usb/Kconfig:39:	symbol USB is selected by MOUSE_APPLETOUCH
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/input/mouse/Kconfig:187:	symbol MOUSE_APPLETOUCH depends on INPUT
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/input/Kconfig:8:	symbol INPUT is selected by VT
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/tty/Kconfig:12:	symbol VT is selected by FB_STI
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:678:	symbol FB_STI depends on FB
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/video/fbdev/Kconfig:5:	symbol FB is selected by DRM_KMS_FB_HELPER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/Kconfig:72:	symbol DRM_KMS_FB_HELPER is selected by DRM_KMS_CMA_HELPER
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/Kconfig:128:	symbol DRM_KMS_CMA_HELPER is selected by DRM_HDLCD
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/arm/Kconfig:6:	symbol DRM_HDLCD depends on COMMON_CLK
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/clk/Kconfig:9:	symbol COMMON_CLK is selected by X86_INTEL_QUARK
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> arch/x86/Kconfig:554:	symbol X86_INTEL_QUARK depends on X86_PLATFORM_DEVICES
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/platform/x86/Kconfig:5:	symbol X86_PLATFORM_DEVICES is selected by DRM_NOUVEAU
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/gpu/drm/nouveau/Kconfig:1:	symbol DRM_NOUVEAU depends on LEDS_CLASS
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/leds/Kconfig:16:	symbol LEDS_CLASS is selected by ATH9K_HTC
> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> drivers/net/wireless/ath/ath9k/Kconfig:158:	symbol ATH9K_HTC depends on USB
> warning: (DRM_NOUVEAU && DRM_I915 && DRM_GMA500) selects ACPI_VIDEO which has unmet direct dependencies (ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT)


-- 
~Randy


More information about the dri-devel mailing list