Skip to content
  • Guenter Roeck's avatar
    gpu/mfd/usb: Fix USB randconfig problems · 8f057d7b
    Guenter Roeck authored
    
    
    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: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    8f057d7b