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. 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) > -Daniel > >> --- >> drivers/gpu/drm/nouveau/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> --- lnx-410-rc2.orig/drivers/gpu/drm/nouveau/Kconfig >> +++ lnx-410-rc2/drivers/gpu/drm/nouveau/Kconfig >> @@ -1,6 +1,7 @@ >> config DRM_NOUVEAU >> tristate "Nouveau (NVIDIA) cards" >> depends on DRM && PCI >> + depends on LEDS_CLASS || LEDS_CLASS=n >> select FW_LOADER >> select DRM_KMS_HELPER >> select DRM_TTM >> _______________________________________________ >> dri-devel mailing list >> dri-devel at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Jani Nikula, Intel Open Source Technology Center -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: .config URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170104/acb58a4b/attachment-0001.ksh>