On Thu, Jul 25, 2019 at 12:51:30PM +0200, Noralf Trønnes wrote:
> This makes the tiny drivers visible by default without having to enable a
> knob.
> 
> Signed-off-by: Noralf Trønnes <[email protected]>
> Reviewed-by: Hans de Goede <[email protected]> to it once
> ---
>  drivers/gpu/drm/Makefile        |  2 +-
>  drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
>  2 files changed, 22 insertions(+), 17 deletions(-)

Bisection says this patch (28c47e16ea2a19adb47fe2c182cbd61cb854237c)
breaks kconfig stuff in v5.4-rc by creating circular
dependencies. Could someone send a -rc patch to fix this please?

THINKPAD_ACPI (defined at drivers/platform/x86/Kconfig:484), with definition...
...depends on FB_SSD1307 (defined at drivers/video/fbdev/Kconfig:2259), with 
definition...
...depends on FB (defined at drivers/video/fbdev/Kconfig:12), with definition...
...depends on DRM_KMS_FB_HELPER (defined at drivers/gpu/drm/Kconfig:79), with 
definition...
...depends on DRM_KMS_HELPER (defined at drivers/gpu/drm/Kconfig:73), with 
definition...
...depends on TINYDRM_REPAPER (defined at drivers/gpu/drm/tinydrm/Kconfig:51), 
with definition...
...depends on THERMAL (defined at drivers/thermal/Kconfig:6), with definition...
...depends on SENSORS_NPCM7XX (defined at drivers/hwmon/Kconfig:1285), with 
definition...
...depends on HWMON (defined at drivers/hwmon/Kconfig:6), with definition...
...depends on THINKPAD_ACPI (defined at drivers/platform/x86/Kconfig:484), with 
definition...
...depends on ACPI_VIDEO (defined at drivers/acpi/Kconfig:193), with 
definition...
...depends on ACER_WMI (defined at drivers/platform/x86/Kconfig:19), with 
definition...
...depends on BACKLIGHT_CLASS_DEVICE (defined at 
drivers/video/backlight/Kconfig:144), with definition...
...depends again on THINKPAD_ACPI (defined at drivers/platform/x86/Kconfig:484)

Full output:

kconfiglib.KconfigError: 
Dependency loop
===============

THINKPAD_ACPI (defined at drivers/platform/x86/Kconfig:484), with definition...

config THINKPAD_ACPI
        tristate "ThinkPad ACPI Laptop Extras"
        select HWMON
        select NVRAM
        select NEW_LEDS
        select LEDS_CLASS
        select LEDS_TRIGGERS
        select LEDS_TRIGGER_AUDIO
        depends on ACPI && ACPI_BATTERY && INPUT && (RFKILL || RFKILL = n) && 
(ACPI_VIDEO || ACPI_VIDEO = n) && BACKLIGHT_CLASS_DEVICE && 
X86_PLATFORM_DEVICES && X86
        help
          This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
          support for Fn-Fx key combinations, Bluetooth control, video
          output switching, ThinkLight control, UltraBay eject and more.
          For more information about this driver see
          <file:Documentation/admin-guide/laptops/thinkpad-acpi.rst> and
          <http://ibm-acpi.sf.net/> .
          
          This driver was formerly known as ibm-acpi.
          
          Extra functionality will be available if the rfkill (CONFIG_RFKILL)
          and/or ALSA (CONFIG_SND) subsystems are available in the kernel.
          Note that if you want ThinkPad-ACPI to be built-in instead of
          modular, ALSA and rfkill will also have to be built-in.
          
          If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.

...depends on ACPI_VIDEO (defined at drivers/acpi/Kconfig:193), with 
definition...

config ACPI_VIDEO
        tristate "Video"
        select THERMAL
        depends on X86 && BACKLIGHT_CLASS_DEVICE && INPUT && ACPI
        help
          This driver implements the ACPI Extensions For Display Adapters
          for integrated graphics devices on motherboard, as specified in
          ACPI 2.0 Specification, Appendix B.  This supports basic operations
          such as defining the video POST device, retrieving EDID information,
          and setting up a video output.
          
          To compile this driver as a module, choose M here:
          the module will be called video.

(select-related dependencies: (DRM_NOUVEAU && ACPI && X86 && 
BACKLIGHT_CLASS_DEVICE && INPUT && DRM && PCI && MMU && HAS_IOMEM) || 
(DRM_NOUVEAU && ACPI && X86 && DRM && PCI && MMU && HAS_IOMEM) || (DRM_I915 && 
ACPI && DRM && X86 && PCI && HAS_IOMEM) || (DRM_GMA500 && ACPI && DRM && PCI && 
X86 && MMU && HAS_IOMEM) || (ACER_WMI && ACPI && ACPI && BACKLIGHT_CLASS_DEVICE 
&& SERIO_I8042 && INPUT && (RFKILL || RFKILL = n) && ACPI_WMI && 
X86_PLATFORM_DEVICES && X86))

...depends on ACER_WMI (defined at drivers/platform/x86/Kconfig:19), with 
definition...

config ACER_WMI
        tristate "Acer WMI Laptop Extras"
        select LEDS_CLASS
        select NEW_LEDS
        select INPUT_SPARSEKMAP
        select ACPI_VIDEO if ACPI
        depends on ACPI && BACKLIGHT_CLASS_DEVICE && SERIO_I8042 && INPUT && 
(RFKILL || RFKILL = n) && ACPI_WMI && X86_PLATFORM_DEVICES && X86
        help
          This is a driver for newer Acer (and Wistron) laptops. It adds
          wireless radio and bluetooth control, and on some laptops,
          exposes the mail LED and LCD backlight.
          
          If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
          here.

...depends on SERIO_I8042 (defined at drivers/input/serio/Kconfig:29), with 
definition...

config SERIO_I8042
        tristate "i8042 PC Keyboard controller"
        default y
        depends on ARCH_MIGHT_HAVE_PC_SERIO && SERIO && !UML
        help
          i8042 is the chip over which the standard AT keyboard and PS/2
          mouse are connected to the computer. If you use these devices,
          you'll need to say Y here.
          
          If unsure, say Y.
          
          To compile this driver as a module, choose M here: the
          module will be called i8042.

(select-related dependencies: (KEYBOARD_ATKBD && ARCH_MIGHT_HAVE_PC_SERIO && 
INPUT_KEYBOARD && INPUT && !UML) || (MOUSE_PS2 && ARCH_MIGHT_HAVE_PC_SERIO && 
INPUT_MOUSE && INPUT && !UML))

...depends on SERIO (defined at drivers/input/serio/Kconfig:5), with 
definition...

config SERIO
        tristate "Serial I/O support"
        default y
        depends on !UML
        help
          Say Yes here if you have any input device that uses serial I/O to
          communicate with the system. This includes the
                        * standard AT keyboard and PS/2 mouse *
          as well as serial mice, Sun keyboards, some joysticks and 6dof
          devices and more.
          
          If unsure, say Y.
          
          To compile this driver as a module, choose M here: the
          module will be called serio.

(select-related dependencies: (KEYBOARD_ATKBD && INPUT_KEYBOARD && INPUT && 
!UML) || (KEYBOARD_LKKBD && INPUT_KEYBOARD && INPUT && !UML) || (KEYBOARD_HIL 
&& (GSC || HP300) && INPUT_KEYBOARD && INPUT && !UML) || (KEYBOARD_NEWTON && 
INPUT_KEYBOARD && INPUT && !UML) || (KEYBOARD_STOWAWAY && INPUT_KEYBOARD && 
INPUT && !UML) || (KEYBOARD_SUNKBD && INPUT_KEYBOARD && INPUT && !UML) || 
(KEYBOARD_XTKBD && INPUT_KEYBOARD && INPUT && !UML) || (MOUSE_PS2 && 
INPUT_MOUSE && INPUT && !UML) || (MOUSE_SERIAL && INPUT_MOUSE && INPUT && !UML) 
|| (MOUSE_VSXXXAA && INPUT_MOUSE && INPUT && !UML) || (JOYSTICK_WARRIOR && 
INPUT_JOYSTICK && INPUT && !UML) || (JOYSTICK_MAGELLAN && INPUT_JOYSTICK && 
INPUT && !UML) || (JOYSTICK_SPACEORB && INPUT_JOYSTICK && INPUT && !UML) || 
(JOYSTICK_SPACEBALL && INPUT_JOYSTICK && INPUT && !UML) || (JOYSTICK_STINGER && 
INPUT_JOYSTICK && INPUT && !UML) || (JOYSTICK_TWIDJOY && INPUT_JOYSTICK && 
INPUT && !UML) || (JOYSTICK_ZHENHUA && INPUT_JOYSTICK && INPUT && !UML) || 
(TABLET_SERIAL_WACOM4 && INPUT_TABLET && INPUT && !UML) || (TOUCHSCREEN_DYNAPRO 
&& INPUT_TOUCHSCREEN && INPUT && !UML) || (TOUCHSCREEN_HAMPSHIRE && 
INPUT_TOUCHSCREEN && INPUT && !UML) || (TOUCHSCREEN_EGALAX_SERIAL && 
INPUT_TOUCHSCREEN && INPUT && !UML) || (TOUCHSCREEN_FUJITSU && 
INPUT_TOUCHSCREEN && INPUT && !UML) || (TOUCHSCREEN_GUNZE && INPUT_TOUCHSCREEN 
&& INPUT && !UML) || (TOUCHSCREEN_ELO && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_WACOM_W8001 && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_MTOUCH && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_INEXIO && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_PENMOUNT && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_TOUCHRIGHT && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_TOUCHWIN && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_TOUCHIT213 && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(TOUCHSCREEN_TSC_SERIO && INPUT_TOUCHSCREEN && INPUT && !UML) || 
(RMI4_F03_SERIO && RMI4_CORE && RMI4_F03 && RMI4_CORE && INPUT && !UML) || 
(I2C_TAOS_EVM && TTY && HAS_IOMEM && I2C) || (USB_PULSE8_CEC && USB_ACM && 
MEDIA_CEC_SUPPORT && MEDIA_USB_SUPPORT && USB && MEDIA_SUPPORT && 
MEDIA_SUPPORT) || (USB_RAINSHADOW_CEC && USB_ACM && MEDIA_CEC_SUPPORT && 
MEDIA_USB_SUPPORT && USB && MEDIA_SUPPORT && MEDIA_SUPPORT))

...depends on RMI4_F03 (defined at drivers/input/rmi4/Kconfig:46), with 
definition...

config RMI4_F03
        bool "RMI4 Function 03 (PS2 Guest)"
        depends on RMI4_CORE && RMI4_CORE && INPUT && !UML
        help
          Say Y here if you want to add support for RMI4 function 03.
          
          Function 03 provides PS2 guest support for RMI4 devices. This
          includes support for TrackPoints on TouchPads.

(select-related dependencies: HID_RMI && HID && HID && HID && INPUT)

...depends on HID_RMI (defined at drivers/hid/Kconfig:919), with definition...

config HID_RMI
        tristate "Synaptics RMI4 device support"
        select RMI4_CORE
        select RMI4_F03
        select RMI4_F11
        select RMI4_F12
        select RMI4_F30
        depends on HID && HID && HID && INPUT
        help
          Support for Synaptics RMI4 touchpads.
          Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or 
usbhid
          and want support for its special functionalities.

...depends on HID (defined at drivers/hid/Kconfig:8), with definition...

config HID
        tristate "HID bus support"
        default y
        depends on INPUT && INPUT
        help
          A human interface device (HID) is a type of computer device that
          interacts directly with and takes input from humans. The term "HID"
          most commonly used to refer to the USB-HID specification, but other
          devices (such as, but not strictly limited to, Bluetooth) are
          designed using HID specification (this involves certain keyboards,
          mice, tablets, etc). This option adds the HID bus to the kernel,
          together with generic HID layer code. The HID devices are added and
          removed from the HID bus by the transport-layer drivers, such as
          usbhid (USB_HID) and hidp (BT_HIDP).
          
          For docs and specs, see http://www.usb.org/developers/hidpage/
          
          If unsure, say Y.

(select-related dependencies: (BT_HIDP && BT_BREDR && INPUT && NET) || (USB_HID 
&& USB && INPUT && USB && INPUT) || (I2C_HID && I2C && INPUT && I2C && INPUT) 
|| (INTEL_ISH_HID && (X86_64 || COMPILE_TEST) && PCI && INPUT))

...depends on I2C_HID (defined at drivers/hid/i2c-hid/Kconfig:5), with 
definition...

config I2C_HID
        tristate "HID over I2C transport layer"
        default n
        select HID
        depends on I2C && INPUT && I2C && INPUT
        help
          Say Y here if you use a keyboard, a touchpad, a touchscreen, or any
          other HID based devices which is connected to your computer via I2C.
          
          If unsure, say N.
          
          This support is also available as a module.  If so, the module
          will be called i2c-hid.

...depends on I2C (defined at drivers/i2c/Kconfig:8), with definition...

config I2C
        tristate "I2C support"
        select RT_MUTEXES
        select IRQ_DOMAIN
        help
          I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
          many micro controller applications and developed by Philips.  SMBus,
          or System Management Bus is a subset of the I2C protocol.  More
          information is contained in the directory <file:Documentation/i2c/>,
          especially in the file called "summary" there.
          
          Both I2C and SMBus are supported here. You will need this for
          hardware sensors support, and also for Video For Linux support.
          
          If you want I2C support, you should say Y here and also to the
          specific driver for your bus adapter(s) below.
          
          This I2C support can also be built as a module.  If so, the module
          will be called i2c-core.

(select-related dependencies: (X86_INTEL_MID && X86_EXTENDED_PLATFORM && 
X86_PLATFORM_DEVICES && PCI && (X86_64 || (PCI_GOANY && X86_32)) && 
X86_IO_APIC) || (CAN_PEAK_PCIEC && CAN_PEAK_PCI && CAN_SJA1000 && CAN_DEV && 
CAN && NET) || (IGB && PCI && NET_VENDOR_INTEL && ETHERNET && NETDEVICES) || 
(SFC && PCI && NET_VENDOR_SOLARFLARE && ETHERNET && NETDEVICES) || (SFC_FALCON 
&& PCI && NET_VENDOR_SOLARFLARE && ETHERNET && NETDEVICES) || (IPMI_SSIF && 
IPMI_HANDLER) || I3C || (MEDIA_SUBDRV_AUTOSELECT && (MEDIA_ANALOG_TV_SUPPORT || 
MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT) && 
HAS_IOMEM && MEDIA_SUPPORT) || (DRM && (AGP || AGP = n) && !EMULATED_CMPXCHG && 
HAS_DMA && HAS_IOMEM) || (FB_DDC && FB && HAS_IOMEM) || (SND_AOA_ONYX && 
SND_AOA && SND && !UML && SOUND) || (SND_AOA_TAS && SND_AOA && SND && !UML && 
SOUND) || (ARCH_R8A7790 && ARM && ARCH_RENESAS && SOC_RENESAS) || (ARCH_R8A7791 
&& ARM && ARCH_RENESAS && SOC_RENESAS) || (ARCH_R8A7793 && ARM && ARCH_RENESAS 
&& SOC_RENESAS) || (PHY_EXYNOS5250_SATA && SOC_EXYNOS5250 && HAS_IOMEM && OF))

...depends on FB_DDC (defined at drivers/video/fbdev/Kconfig:63), with 
definition...

config FB_DDC
        tristate
        select I2C_ALGOBIT
        select I2C
        depends on FB && HAS_IOMEM

(select-related dependencies: (FB_CYBER2000_DDC && FB_CYBER2000 && HAS_IOMEM) 
|| (FB_NVIDIA_I2C && FB_NVIDIA && HAS_IOMEM) || (FB_RIVA_I2C && FB_RIVA && 
HAS_IOMEM) || (FB_I740 && FB && PCI && HAS_IOMEM) || (FB_I810_I2C && FB_I810 && 
FB_I810_GTF && HAS_IOMEM) || (FB_INTEL_I2C && FB_INTEL && HAS_IOMEM) || 
(FB_MATROX_I2C && FB_MATROX && HAS_IOMEM) || (FB_RADEON_I2C && FB_RADEON && 
HAS_IOMEM) || (FB_S3_DDC && FB_S3 && HAS_IOMEM) || (FB_SAVAGE_I2C && FB_SAVAGE 
&& HAS_IOMEM) || (FB_3DFX_I2C && FB_3DFX && HAS_IOMEM) || (FB_TRIDENT && FB && 
PCI && HAS_IOMEM))

...depends on FB_S3 (defined at drivers/video/fbdev/Kconfig:1314), with 
definition...

config FB_S3
        tristate "S3 Trio/Virge support"
        select FB_CFB_FILLRECT
        select FB_CFB_COPYAREA
        select FB_CFB_IMAGEBLIT
        select FB_TILEBLITTING
        select FB_SVGALIB
        select VGASTATE
        select FONT_8x16 if FRAMEBUFFER_CONSOLE
        depends on FB && PCI && HAS_IOMEM
        help
          Driver for graphics boards with S3 Trio / S3 Virge chip.

...depends on FB (defined at drivers/video/fbdev/Kconfig:12), with definition...

menuconfig FB
        tristate "Support for frame buffer devices"
        select FB_CMDLINE
        select FB_NOTIFY
        depends on HAS_IOMEM
        help
          The frame buffer device provides an abstraction for the graphics
          hardware. It represents the frame buffer of some video hardware and
          allows application software to access the graphics hardware through
          a well-defined interface, so the software doesn't need to know
          anything about the low-level (hardware register) stuff.
          
          Frame buffer devices work identically across the different
          architectures supported by Linux and make the implementation of
          application programs easier and more portable; at this point, an X
          server exists which uses the frame buffer device exclusively.
          On several non-X86 architectures, the frame buffer device is the
          only way to use the graphics hardware.
          
          The device is accessed through special device nodes, usually located
          in the /dev directory, i.e. /dev/fb*.
          
          You need an utility program called fbset to make full use of frame
          buffer devices. Please read <file:Documentation/fb/framebuffer.rst>
          and the Framebuffer-HOWTO at
          <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for 
more
          information.
          
          Say Y here and to the driver for your graphics board below if you
          are compiling a kernel for a non-x86 architecture.
          
          If you are compiling for the x86 architecture, you can say Y if you
          want to play with it, but it is not essential. Please note that
          running graphical applications that directly touch the hardware
          (e.g. an accelerated X server) and that are not frame buffer
          device-aware may cause unexpected results. If unsure, say N.

(select-related dependencies: (DRM_KMS_FB_HELPER && DRM_KMS_HELPER && 
HAS_IOMEM) || (DRM_VMWGFX && DRM && PCI && X86 && MMU && HAS_IOMEM))

...depends on DRM_KMS_HELPER (defined at drivers/gpu/drm/Kconfig:73), with 
definition...

config DRM_KMS_HELPER
        tristate
        depends on DRM && HAS_IOMEM
        help
          CRTC helpers for KMS drivers.

(select-related dependencies: (DRM_DEBUG_SELFTEST && DRM && DEBUG_KERNEL && 
HAS_IOMEM) || (DRM_FBDEV_EMULATION && DRM && HAS_IOMEM) || (DRM_HDLCD && DRM && 
OF && (ARM || ARM64) && COMMON_CLK && HAS_IOMEM) || (DRM_MALI_DISPLAY && DRM && 
OF && (ARM || ARM64) && COMMON_CLK && HAS_IOMEM) || (DRM_KOMEDA && DRM && OF && 
COMMON_CLK && HAS_IOMEM) || (DRM_RADEON && DRM && PCI && MMU && HAS_IOMEM) || 
(DRM_AMDGPU && DRM && PCI && MMU && HAS_IOMEM) || (DRM_NOUVEAU && DRM && PCI && 
MMU && HAS_IOMEM) || (DRM_I915 && DRM && X86 && PCI && HAS_IOMEM) || (DRM_VKMS 
&& DRM && HAS_IOMEM) || (DRM_EXYNOS && OF && DRM && (ARCH_S3C64XX || 
ARCH_S5PV210 || ARCH_EXYNOS || ARCH_MULTIPLATFORM || COMPILE_TEST) && 
HAS_IOMEM) || (DRM_ROCKCHIP && DRM && ROCKCHIP_IOMMU && HAS_IOMEM) || 
(DRM_VMWGFX && DRM && PCI && X86 && MMU && HAS_IOMEM) || (DRM_GMA500 && DRM && 
PCI && X86 && MMU && HAS_IOMEM) || (DRM_UDL && DRM && USB_SUPPORT && 
USB_ARCH_HAS_HCD && HAS_IOMEM) || (DRM_AST && DRM && PCI && MMU && HAS_IOMEM) 
|| (DRM_MGAG200 && DRM && PCI && MMU && HAS_IOMEM) || (DRM_CIRRUS_QEMU && DRM 
&& PCI && MMU && HAS_IOMEM) || (DRM_ARMADA && DRM && HAVE_CLK && ARM && MMU && 
HAS_IOMEM) || (DRM_ATMEL_HLCDC && DRM && OF && COMMON_CLK && MFD_ATMEL_HLCDC && 
ARM && HAS_IOMEM) || (DRM_RCAR_DU && DRM && OF && (ARM || ARM64) && 
(ARCH_RENESAS || COMPILE_TEST) && HAS_IOMEM) || (DRM_SHMOBILE && DRM && ARM && 
(ARCH_SHMOBILE || COMPILE_TEST) && HAS_IOMEM) || (DRM_SUN4I && DRM && (ARM || 
ARM64) && COMMON_CLK && (ARCH_SUNXI || COMPILE_TEST) && HAS_IOMEM) || (DRM_OMAP 
&& DRM && (ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM) && HAS_IOMEM) || (DRM_TILCDC 
&& DRM && OF && ARM && HAS_IOMEM) || (DRM_QXL && DRM && PCI && MMU && 
HAS_IOMEM) || (DRM_BOCHS && DRM && PCI && MMU && HAS_IOMEM) || (DRM_VIRTIO_GPU 
&& DRM && VIRTIO && MMU && HAS_IOMEM) || (DRM_MSM && DRM && (ARCH_QCOM || 
SOC_IMX5 || (ARM && COMPILE_TEST)) && OF && COMMON_CLK && MMU && (INTERCONNECT 
|| !INTERCONNECT) && HAS_IOMEM) || (DRM_FSL_DCU && DRM && OF && ARM && 
COMMON_CLK && HAS_IOMEM) || (DRM_TEGRA && (ARCH_TEGRA || (ARM && COMPILE_TEST)) 
&& COMMON_CLK && DRM && OF && HAS_IOMEM) || (DRM_STM && DRM && (ARCH_STM32 || 
ARCH_MULTIPLATFORM) && HAS_IOMEM) || (DRM_ANALOGIX_ANX78XX && DRM && DRM_BRIDGE 
&& HAS_IOMEM) || (DRM_CDNS_DSI && OF && DRM && DRM_BRIDGE && HAS_IOMEM) || 
(DRM_DUMB_VGA_DAC && OF && DRM && DRM_BRIDGE && HAS_IOMEM) || 
(DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW && OF && DRM && DRM_BRIDGE && HAS_IOMEM) 
|| (DRM_NXP_PTN3460 && OF && DRM && DRM_BRIDGE && HAS_IOMEM) || 
(DRM_PARADE_PS8622 && OF && DRM && DRM_BRIDGE && HAS_IOMEM) || (DRM_SIL_SII8620 
&& OF && DRM && DRM_BRIDGE && HAS_IOMEM) || (DRM_SII902X && OF && DRM && 
DRM_BRIDGE && HAS_IOMEM) || (DRM_TOSHIBA_TC358767 && OF && DRM && DRM_BRIDGE && 
HAS_IOMEM) || (DRM_TI_TFP410 && OF && DRM && DRM_BRIDGE && HAS_IOMEM) || 
(DRM_TI_SN65DSI86 && OF && DRM && DRM_BRIDGE && HAS_IOMEM) || (DRM_I2C_ADV7511 
&& OF && DRM && DRM_BRIDGE && HAS_IOMEM) || (DRM_DW_HDMI && DRM && DRM_BRIDGE 
&& HAS_IOMEM) || (DRM_DW_MIPI_DSI && DRM && DRM_BRIDGE && HAS_IOMEM) || 
(DRM_STI && OF && DRM && (ARCH_STI || ARCH_MULTIPLATFORM) && HAS_IOMEM) || 
(DRM_IMX && DRM && (ARCH_MXC || ARCH_MULTIPLATFORM || COMPILE_TEST) && 
IMX_IPUV3_CORE && HAS_IOMEM) || (DRM_INGENIC && (MIPS || COMPILE_TEST) && DRM 
&& CMA && OF && HAS_IOMEM) || (DRM_VC4 && (ARCH_BCM || ARCH_BCM2835 || 
COMPILE_TEST) && DRM && SND && SND_SOC && COMMON_CLK && HAS_IOMEM) || 
(DRM_ARCPGU && DRM && OF && HAS_IOMEM) || (DRM_HISI_HIBMC && DRM && PCI && MMU 
&& HAS_IOMEM) || (DRM_HISI_KIRIN && DRM && OF && ARM64 && HAS_IOMEM) || 
(DRM_MEDIATEK && DRM && (ARCH_MEDIATEK || (ARM && COMPILE_TEST)) && COMMON_CLK 
&& HAVE_ARM_SMCCC && OF && HAS_IOMEM) || (DRM_ZTE && DRM && ARCH_ZX && 
HAS_IOMEM) || (DRM_MXSFB && DRM && OF && COMMON_CLK && HAS_IOMEM) || (DRM_MESON 
&& DRM && OF && (ARM || ARM64) && (ARCH_MESON || COMPILE_TEST) && HAS_IOMEM) || 
(TINYDRM_HX8357D && DRM && SPI && HAS_IOMEM) || (TINYDRM_ILI9225 && DRM && SPI 
&& HAS_IOMEM) || (TINYDRM_ILI9341 && DRM && SPI && HAS_IOMEM) || 
(TINYDRM_MI0283QT && DRM && SPI && HAS_IOMEM) || (TINYDRM_REPAPER && DRM && SPI 
&& (THERMAL || !THERMAL) && HAS_IOMEM) || (TINYDRM_ST7586 && DRM && SPI && 
HAS_IOMEM) || (TINYDRM_ST7735R && DRM && SPI && HAS_IOMEM) || (DRM_PL111 && DRM 
&& (ARM || ARM64 || COMPILE_TEST) && COMMON_CLK && HAS_IOMEM) || (DRM_TVE200 && 
DRM && CMA && (ARM || COMPILE_TEST) && OF && HAS_IOMEM) || (DRM_XEN_FRONTEND && 
DRM_XEN && DRM && HAS_IOMEM) || (DRM_VBOXVIDEO && DRM && X86 && PCI && 
HAS_IOMEM) || (DRM_ASPEED_GFX && DRM && OF && (COMPILE_TEST || ARCH_ASPEED) && 
HAS_IOMEM) || (DRM_MCDE && DRM && CMA && (ARM || COMPILE_TEST) && OF && 
HAS_IOMEM) || (DRM_GM12U320 && DRM && USB && HAS_IOMEM))

...depends on THERMAL (defined at drivers/thermal/Kconfig:6), with definition...

menuconfig THERMAL
        bool "Generic Thermal sysfs driver"
        help
          Generic Thermal Sysfs driver offers a generic mechanism for
          thermal management. Usually it's made up of one or more thermal
          zone and cooling device.
          Each thermal zone contains its own temperature, trip points,
          cooling devices.
          All platforms with ACPI thermal support can use this driver.
          If you want this support, you should say Y here.

(select-related dependencies: (ACPI_VIDEO && X86 && BACKLIGHT_CLASS_DEVICE && 
INPUT && ACPI) || (ACPI_CPU_FREQ_PSS && ACPI) || (ACPI_THERMAL && 
ACPI_PROCESSOR && ACPI) || (DRM_NOUVEAU && ACPI && X86 && DRM && PCI && MMU && 
HAS_IOMEM) || (DRM_ETNAVIV && DRM_ETNAVIV_THERMAL && DRM && MMU && HAS_IOMEM) 
|| (MMC_SDHCI_OMAP && MMC_SDHCI_PLTFM && OF && MMC) || (INTEL_MENLOW && 
ACPI_THERMAL && X86_PLATFORM_DEVICES && X86))

(imply-related dependencies: (ACPI_VIDEO && X86 && BACKLIGHT_CLASS_DEVICE && 
INPUT && ACPI) || (ACPI_CPU_FREQ_PSS && ACPI) || (ACPI_THERMAL && 
ACPI_PROCESSOR && ACPI) || (DRM_NOUVEAU && ACPI && X86 && DRM && PCI && MMU && 
HAS_IOMEM) || (DRM_ETNAVIV && DRM_ETNAVIV_THERMAL && DRM && MMU && HAS_IOMEM) 
|| (MMC_SDHCI_OMAP && MMC_SDHCI_PLTFM && OF && MMC) || (INTEL_MENLOW && 
ACPI_THERMAL && X86_PLATFORM_DEVICES && X86))

...depends on SENSORS_MLXREG_FAN (defined at drivers/hwmon/Kconfig:952), with 
definition...

config SENSORS_MLXREG_FAN
        tristate "Mellanox Mellanox FAN driver"
        select REGMAP
        imply THERMAL
        depends on MELLANOX_PLATFORM && HWMON
        help
          This option enables support for the FAN control on the Mellanox
          Ethernet and InfiniBand switches. The driver can be activated by the
          platform device add call. Say Y to enable these. To compile this
          driver as a module, choose 'M' here: the module will be called
          mlxreg-fan.

...depends on HWMON (defined at drivers/hwmon/Kconfig:6), with definition...

menuconfig HWMON
        tristate "Hardware Monitoring support"
        default y
        depends on HAS_IOMEM
        help
          Hardware monitoring devices let you monitor the hardware health
          of a system. Most modern motherboards include such a device. It
          can include temperature sensors, voltage sensors, fan speed
          sensors and various additional features such as the ability to
          control the speed of the fans. If you want this support you
          should say Y here and also to the specific driver(s) for your
          sensors chip(s) below.
          
          To find out which specific driver(s) you need, use the
          sensors-detect script from the lm_sensors package.  Read
          <file:Documentation/hwmon/userspace-tools.rst> for details.
          
          This support can also be built as a module. If so, the module
          will be called hwmon.

(select-related dependencies: I8K || (HABANA_AI && PCI && HAS_IOMEM) || 
(DRM_RADEON && DRM && PCI && MMU && HAS_IOMEM) || (DRM_AMDGPU && DRM && PCI && 
MMU && HAS_IOMEM) || (THINKPAD_ACPI && ACPI && ACPI_BATTERY && INPUT && (RFKILL 
|| RFKILL = n) && (ACPI_VIDEO || ACPI_VIDEO = n) && BACKLIGHT_CLASS_DEVICE && 
X86_PLATFORM_DEVICES && X86) || (EEEPC_LAPTOP && ACPI && INPUT && (RFKILL || 
RFKILL = n) && (ACPI_VIDEO || ACPI_VIDEO = n) && HOTPLUG_PCI && 
BACKLIGHT_CLASS_DEVICE && X86_PLATFORM_DEVICES && X86) || (CPU_HWMON && 
LOONGSON_MACH3X && MIPS_PLATFORM_DEVICES && MIPS) || (NTB_IDT && PCI && NTB))

(imply-related dependencies: I8K || (HABANA_AI && PCI && HAS_IOMEM) || 
(DRM_RADEON && DRM && PCI && MMU && HAS_IOMEM) || (DRM_AMDGPU && DRM && PCI && 
MMU && HAS_IOMEM) || (THINKPAD_ACPI && ACPI && ACPI_BATTERY && INPUT && (RFKILL 
|| RFKILL = n) && (ACPI_VIDEO || ACPI_VIDEO = n) && BACKLIGHT_CLASS_DEVICE && 
X86_PLATFORM_DEVICES && X86) || (EEEPC_LAPTOP && ACPI && INPUT && (RFKILL || 
RFKILL = n) && (ACPI_VIDEO || ACPI_VIDEO = n) && HOTPLUG_PCI && 
BACKLIGHT_CLASS_DEVICE && X86_PLATFORM_DEVICES && X86) || (CPU_HWMON && 
LOONGSON_MACH3X && MIPS_PLATFORM_DEVICES && MIPS) || (NTB_IDT && PCI && NTB))

...depends again on THINKPAD_ACPI (defined at drivers/platform/x86/Kconfig:484)

Reply via email to