Commit 8f057d7bca549e8f7c1f8e750c75598986f5d9aa

Authored by Guenter Roeck
Committed by Greg Kroah-Hartman
1 parent 99f347caa4

gpu/mfd/usb: Fix USB randconfig problems

Fix config warning:

warning: ( ... && DRM_USB) selects USB which has unmet direct dependencies
(USB_SUPPORT && USB_ARCH_HAS_HCD)

and build error:
ERROR: "usb_speed_string" [drivers/usb/core/usbcore.ko] undefined!

by adding the missing dependency on USB_ARCH_HAS_HCD to DRM_UDL and DRM_USB.

This exposes:
drivers/video/Kconfig:36:error: recursive dependency detected!
drivers/video/Kconfig:36:       symbol FB is selected by DRM_KMS_HELPER
drivers/gpu/drm/Kconfig:28:     symbol DRM_KMS_HELPER is selected by DRM_UDL
drivers/gpu/drm/udl/Kconfig:1:  symbol DRM_UDL depends on USB_ARCH_HAS_HCD
drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
drivers/usb/Kconfig:16: symbol USB_ARCH_HAS_OHCI depends on I2C
drivers/i2c/Kconfig:5:  symbol I2C is selected by FB_DDC
drivers/video/Kconfig:86:       symbol FB_DDC is selected by FB_CYBER2000_DDC
drivers/video/Kconfig:385:      symbol FB_CYBER2000_DDC depends on FB_CYBER2000
drivers/video/Kconfig:373:      symbol FB_CYBER2000 depends on FB

which is due to drivers/usb/Kconfig:
config USB_ARCH_HAS_OHCI
	...
	default y if ARCH_PNX4008 && I2C

Fix by dropping I2C from the above dependency; logic is that this is not a
platform dependency but a configuration dependency: the _architecture_ still
supports USB even is I2C is not selected.

This exposes:
drivers/video/Kconfig:36:error: recursive dependency detected!
drivers/video/Kconfig:36:       symbol FB is selected by DRM_KMS_HELPER
drivers/gpu/drm/Kconfig:28:     symbol DRM_KMS_HELPER is selected by DRM_UDL
drivers/gpu/drm/udl/Kconfig:1:  symbol DRM_UDL depends on USB_ARCH_HAS_HCD
drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
drivers/usb/Kconfig:17: symbol USB_ARCH_HAS_OHCI depends on MFD_TC6393XB
drivers/mfd/Kconfig:396:        symbol MFD_TC6393XB depends on GPIOLIB
drivers/gpio/Kconfig:35:        symbol GPIOLIB is selected by FB_VIA
drivers/video/Kconfig:1560:     symbol FB_VIA depends on FB

which can be fixed by having MFD_TC6393XB select GPIOLIB instead of depending on
it.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 4 changed files with 5 additions and 2 deletions Side-by-side Diff

drivers/gpu/drm/Kconfig
... ... @@ -22,6 +22,7 @@
22 22 config DRM_USB
23 23 tristate
24 24 depends on DRM
  25 + depends on USB_ARCH_HAS_HCD
25 26 select USB
26 27  
27 28 config DRM_KMS_HELPER
drivers/gpu/drm/udl/Kconfig
1 1 config DRM_UDL
2 2 tristate "DisplayLink"
3 3 depends on DRM && EXPERIMENTAL
  4 + depends on USB_ARCH_HAS_HCD
4 5 select DRM_USB
5 6 select FB_SYS_FILLRECT
6 7 select FB_SYS_COPYAREA
... ... @@ -395,7 +395,8 @@
395 395  
396 396 config MFD_TC6393XB
397 397 bool "Support Toshiba TC6393XB"
398   - depends on GPIOLIB && ARM && HAVE_CLK
  398 + depends on ARM && HAVE_CLK
  399 + select GPIOLIB
399 400 select MFD_CORE
400 401 select MFD_TMIO
401 402 help
... ... @@ -13,7 +13,7 @@
13 13 default y if PXA3xx
14 14 default y if ARCH_EP93XX
15 15 default y if ARCH_AT91
16   - default y if ARCH_PNX4008 && I2C
  16 + default y if ARCH_PNX4008
17 17 default y if MFD_TC6393XB
18 18 default y if ARCH_W90X900
19 19 default y if ARCH_DAVINCI_DA8XX