diff mbox series

[1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM

Message ID 20190725105132.22545-2-noralf@tronnes.org (mailing list archive)
State New, archived
Headers show
Series drm/tinydrm: Rename to drm/tiny | expand

Commit Message

Noralf Trønnes July 25, 2019, 10:51 a.m. UTC
This makes the tiny drivers visible by default without having to enable a
knob.

Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
---
 drivers/gpu/drm/Makefile        |  2 +-
 drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
 2 files changed, 22 insertions(+), 17 deletions(-)

Comments

Hans de Goede July 30, 2019, 1:19 p.m. UTC | #1
Hi,

On 25-07-19 12:51, Noralf Trønnes wrote:
> This makes the tiny drivers visible by default without having to enable a
> knob.
> 
> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
> ---
>   drivers/gpu/drm/Makefile        |  2 +-
>   drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
>   2 files changed, 22 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig
> index 42b06f4f8989..f8c9a0e71dde 100644
> --- a/drivers/gpu/drm/tinydrm/Kconfig
> +++ b/drivers/gpu/drm/tinydrm/Kconfig
> @@ -1,16 +1,9 @@
>   # SPDX-License-Identifier: GPL-2.0-only
> -menuconfig DRM_TINYDRM
> -	tristate "Support for simple displays"
> -	depends on DRM
> -	select DRM_KMS_HELPER
> -	select DRM_KMS_CMA_HELPER
> -	help
> -	  Choose this option if you have a tinydrm supported display.
> -	  If M is selected the module will be called tinydrm.
> -
>   config TINYDRM_HX8357D
>   	tristate "DRM support for HX8357D display panels"
> -	depends on DRM_TINYDRM && SPI
> +	depends on DRM && SPI
> +	select DRM_KMS_HELPER
> +	select DRM_KMS_CMA_HELPER
>   	select DRM_MIPI_DBI
>   	select BACKLIGHT_CLASS_DEVICE
>   	help

<snip>

drivers/gpu/drm/tinydrm/Makefile has:

obj-$(CONFIG_DRM_TINYDRM)               += core/

And AFAIK at least most of the drivers under drivers/gpu/drm/tinydrm
actually need the tinydrm-core.

So instead you should make the config option a hidden one
and select it in all the drivers which need it, otherwise
things will no longer work after a clean build AFAICT.

Note that even though the config option now remains, this change:

 > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
 > index 98c732f925c7..0b30afa7524d 100644
 > --- a/drivers/gpu/drm/Makefile
 > +++ b/drivers/gpu/drm/Makefile
 > @@ -112,7 +112,7 @@ obj-$(CONFIG_DRM_ARCPGU)+= arc/
 >   obj-y			+= hisilicon/
 >   obj-$(CONFIG_DRM_ZTE)	+= zte/
 >   obj-$(CONFIG_DRM_MXSFB)	+= mxsfb/
 > -obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
 > +obj-y			+= tinydrm/
 >   obj-$(CONFIG_DRM_PL111) += pl111/
 >   obj-$(CONFIG_DRM_TVE200) += tve200/
 >   obj-$(CONFIG_DRM_XEN) += xen/

Is still necessary so that when other drivers which do not
depend on the tinydrm core and thus will not do:
	select DRM_TINYDRM
will still get build.

Otherwise this series looks good to me and you can add my:

Reviewed-by: Hans de Goede <hdegoede@redhat.com> to it once
this is fixed.

Note that drivers/gpu/drm/cirrus is a single .c file tiny
driver now a days too, so it too could be moved to the new
tiny dir. I was actually planning on doing something similar
to this series once I got one more tiny driver upstream :)

Regards,

Hans
Noralf Trønnes July 30, 2019, 1:34 p.m. UTC | #2
Den 30.07.2019 15.19, skrev Hans de Goede:
> Hi,
> 
> On 25-07-19 12:51, Noralf Trønnes wrote:
>> This makes the tiny drivers visible by default without having to enable a
>> knob.
>>
>> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
>> ---
>>   drivers/gpu/drm/Makefile        |  2 +-
>>   drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
>>   2 files changed, 22 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/tinydrm/Kconfig
>> b/drivers/gpu/drm/tinydrm/Kconfig
>> index 42b06f4f8989..f8c9a0e71dde 100644
>> --- a/drivers/gpu/drm/tinydrm/Kconfig
>> +++ b/drivers/gpu/drm/tinydrm/Kconfig
>> @@ -1,16 +1,9 @@
>>   # SPDX-License-Identifier: GPL-2.0-only
>> -menuconfig DRM_TINYDRM
>> -    tristate "Support for simple displays"
>> -    depends on DRM
>> -    select DRM_KMS_HELPER
>> -    select DRM_KMS_CMA_HELPER
>> -    help
>> -      Choose this option if you have a tinydrm supported display.
>> -      If M is selected the module will be called tinydrm.
>> -
>>   config TINYDRM_HX8357D
>>       tristate "DRM support for HX8357D display panels"
>> -    depends on DRM_TINYDRM && SPI
>> +    depends on DRM && SPI
>> +    select DRM_KMS_HELPER
>> +    select DRM_KMS_CMA_HELPER
>>       select DRM_MIPI_DBI
>>       select BACKLIGHT_CLASS_DEVICE
>>       help
> 
> <snip>
> 
> drivers/gpu/drm/tinydrm/Makefile has:
> 
> obj-$(CONFIG_DRM_TINYDRM)               += core/
> 
> And AFAIK at least most of the drivers under drivers/gpu/drm/tinydrm
> actually need the tinydrm-core.
> 

This is gone in current drm-misc-next.
It went away with:
drm/tinydrm: Remove tinydrm.ko
https://patchwork.freedesktop.org/series/63811/

Noralf.
Hans de Goede July 30, 2019, 1:35 p.m. UTC | #3
Hi,

On 30-07-19 15:34, Noralf Trønnes wrote:
> 
> 
> Den 30.07.2019 15.19, skrev Hans de Goede:
>> Hi,
>>
>> On 25-07-19 12:51, Noralf Trønnes wrote:
>>> This makes the tiny drivers visible by default without having to enable a
>>> knob.
>>>
>>> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
>>> ---
>>>    drivers/gpu/drm/Makefile        |  2 +-
>>>    drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
>>>    2 files changed, 22 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/tinydrm/Kconfig
>>> b/drivers/gpu/drm/tinydrm/Kconfig
>>> index 42b06f4f8989..f8c9a0e71dde 100644
>>> --- a/drivers/gpu/drm/tinydrm/Kconfig
>>> +++ b/drivers/gpu/drm/tinydrm/Kconfig
>>> @@ -1,16 +1,9 @@
>>>    # SPDX-License-Identifier: GPL-2.0-only
>>> -menuconfig DRM_TINYDRM
>>> -    tristate "Support for simple displays"
>>> -    depends on DRM
>>> -    select DRM_KMS_HELPER
>>> -    select DRM_KMS_CMA_HELPER
>>> -    help
>>> -      Choose this option if you have a tinydrm supported display.
>>> -      If M is selected the module will be called tinydrm.
>>> -
>>>    config TINYDRM_HX8357D
>>>        tristate "DRM support for HX8357D display panels"
>>> -    depends on DRM_TINYDRM && SPI
>>> +    depends on DRM && SPI
>>> +    select DRM_KMS_HELPER
>>> +    select DRM_KMS_CMA_HELPER
>>>        select DRM_MIPI_DBI
>>>        select BACKLIGHT_CLASS_DEVICE
>>>        help
>>
>> <snip>
>>
>> drivers/gpu/drm/tinydrm/Makefile has:
>>
>> obj-$(CONFIG_DRM_TINYDRM)               += core/
>>
>> And AFAIK at least most of the drivers under drivers/gpu/drm/tinydrm
>> actually need the tinydrm-core.
>>
> 
> This is gone in current drm-misc-next.
> It went away with:
> drm/tinydrm: Remove tinydrm.ko
> https://patchwork.freedesktop.org/series/63811/

Ah I see.

Regards,

Hans
Emil Velikov July 30, 2019, 1:53 p.m. UTC | #4
On 2019/07/25, Noralf Trønnes wrote:
> This makes the tiny drivers visible by default without having to enable a
> knob.
> 
> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
> ---
>  drivers/gpu/drm/Makefile        |  2 +-
>  drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
>  2 files changed, 22 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 98c732f925c7..0b30afa7524d 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -112,7 +112,7 @@ obj-$(CONFIG_DRM_ARCPGU)+= arc/
>  obj-y			+= hisilicon/
>  obj-$(CONFIG_DRM_ZTE)	+= zte/
>  obj-$(CONFIG_DRM_MXSFB)	+= mxsfb/
> -obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
> +obj-y			+= tinydrm/
>  obj-$(CONFIG_DRM_PL111) += pl111/
>  obj-$(CONFIG_DRM_TVE200) += tve200/
>  obj-$(CONFIG_DRM_XEN) += xen/
> diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig
> index 42b06f4f8989..f8c9a0e71dde 100644
> --- a/drivers/gpu/drm/tinydrm/Kconfig
> +++ b/drivers/gpu/drm/tinydrm/Kconfig
> @@ -1,16 +1,9 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> -menuconfig DRM_TINYDRM
> -	tristate "Support for simple displays"
> -	depends on DRM
> -	select DRM_KMS_HELPER
> -	select DRM_KMS_CMA_HELPER
> -	help
> -	  Choose this option if you have a tinydrm supported display.
> -	  If M is selected the module will be called tinydrm.
> -
Fwiw I would have gone with Han's idea of making this hidden. That has a
number of advantages, even if we don't have a separate tinydrm.ko:
 - the tinydrm code is not build when there are no users
 - the tinydrm dependencies are contained within itself, instead of
updating 5-10 individual drivers

That said, I won't get in the way if people like this approach ;-)

HTH
-Emil
Noralf Trønnes July 30, 2019, 2:03 p.m. UTC | #5
Den 30.07.2019 15.53, skrev Emil Velikov:
> On 2019/07/25, Noralf Trønnes wrote:
>> This makes the tiny drivers visible by default without having to enable a
>> knob.
>>
>> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
>> ---
>>  drivers/gpu/drm/Makefile        |  2 +-
>>  drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
>>  2 files changed, 22 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
>> index 98c732f925c7..0b30afa7524d 100644
>> --- a/drivers/gpu/drm/Makefile
>> +++ b/drivers/gpu/drm/Makefile
>> @@ -112,7 +112,7 @@ obj-$(CONFIG_DRM_ARCPGU)+= arc/
>>  obj-y			+= hisilicon/
>>  obj-$(CONFIG_DRM_ZTE)	+= zte/
>>  obj-$(CONFIG_DRM_MXSFB)	+= mxsfb/
>> -obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
>> +obj-y			+= tinydrm/
>>  obj-$(CONFIG_DRM_PL111) += pl111/
>>  obj-$(CONFIG_DRM_TVE200) += tve200/
>>  obj-$(CONFIG_DRM_XEN) += xen/
>> diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig
>> index 42b06f4f8989..f8c9a0e71dde 100644
>> --- a/drivers/gpu/drm/tinydrm/Kconfig
>> +++ b/drivers/gpu/drm/tinydrm/Kconfig
>> @@ -1,16 +1,9 @@
>>  # SPDX-License-Identifier: GPL-2.0-only
>> -menuconfig DRM_TINYDRM
>> -	tristate "Support for simple displays"
>> -	depends on DRM
>> -	select DRM_KMS_HELPER
>> -	select DRM_KMS_CMA_HELPER
>> -	help
>> -	  Choose this option if you have a tinydrm supported display.
>> -	  If M is selected the module will be called tinydrm.
>> -
> Fwiw I would have gone with Han's idea of making this hidden. That has a
> number of advantages, even if we don't have a separate tinydrm.ko:
>  - the tinydrm code is not build when there are no users

The thing is, there is no tinydrm code anymore, it's all been put into
various core helpers. The folder does only contain regular DRM drivers.
The only thing special about them is that they fit into one source file.

Noralf.

>  - the tinydrm dependencies are contained within itself, instead of
> updating 5-10 individual drivers
> 
> That said, I won't get in the way if people like this approach ;-)
> 
> HTH
> -Emil
>
Emil Velikov July 30, 2019, 2:16 p.m. UTC | #6
On 2019/07/30, Noralf Trønnes wrote:
> 
> 
> Den 30.07.2019 15.53, skrev Emil Velikov:
> > On 2019/07/25, Noralf Trønnes wrote:
> >> This makes the tiny drivers visible by default without having to enable a
> >> knob.
> >>
> >> Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
> >> ---
> >>  drivers/gpu/drm/Makefile        |  2 +-
> >>  drivers/gpu/drm/tinydrm/Kconfig | 37 +++++++++++++++++++--------------
> >>  2 files changed, 22 insertions(+), 17 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> >> index 98c732f925c7..0b30afa7524d 100644
> >> --- a/drivers/gpu/drm/Makefile
> >> +++ b/drivers/gpu/drm/Makefile
> >> @@ -112,7 +112,7 @@ obj-$(CONFIG_DRM_ARCPGU)+= arc/
> >>  obj-y			+= hisilicon/
> >>  obj-$(CONFIG_DRM_ZTE)	+= zte/
> >>  obj-$(CONFIG_DRM_MXSFB)	+= mxsfb/
> >> -obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
> >> +obj-y			+= tinydrm/
> >>  obj-$(CONFIG_DRM_PL111) += pl111/
> >>  obj-$(CONFIG_DRM_TVE200) += tve200/
> >>  obj-$(CONFIG_DRM_XEN) += xen/
> >> diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig
> >> index 42b06f4f8989..f8c9a0e71dde 100644
> >> --- a/drivers/gpu/drm/tinydrm/Kconfig
> >> +++ b/drivers/gpu/drm/tinydrm/Kconfig
> >> @@ -1,16 +1,9 @@
> >>  # SPDX-License-Identifier: GPL-2.0-only
> >> -menuconfig DRM_TINYDRM
> >> -	tristate "Support for simple displays"
> >> -	depends on DRM
> >> -	select DRM_KMS_HELPER
> >> -	select DRM_KMS_CMA_HELPER
> >> -	help
> >> -	  Choose this option if you have a tinydrm supported display.
> >> -	  If M is selected the module will be called tinydrm.
> >> -
> > Fwiw I would have gone with Han's idea of making this hidden. That has a
> > number of advantages, even if we don't have a separate tinydrm.ko:
> >  - the tinydrm code is not build when there are no users
> 
> The thing is, there is no tinydrm code anymore, it's all been put into
> various core helpers. The folder does only contain regular DRM drivers.
> The only thing special about them is that they fit into one source file.

Right, I saw your series killing tinydrm.ko [1] and missed see the
mipi-dbi.c move with commit 174102f4de230a1bf85e6ef2f8c83e50b3ba22c9

Thanks for the awesome work.
Emil

[1] https://patchwork.freedesktop.org/series/63811/
Jason Gunthorpe Oct. 1, 2019, 12:36 p.m. UTC | #7
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 <noralf@tronnes.org>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com> 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)
Noralf Trønnes Oct. 1, 2019, 1:28 p.m. UTC | #8
Den 01.10.2019 14.36, skrev Jason Gunthorpe:
> 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 <noralf@tronnes.org>
>> Reviewed-by: Hans de Goede <hdegoede@redhat.com> 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)
> 

Would this commit fix this by any chance:

drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER
https://cgit.freedesktop.org/drm/drm-misc/commit/?id=dfef959803c728c616ad29b008cd91b3446a993a

Noralf.

> 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)
>
Jason Gunthorpe Oct. 1, 2019, 1:45 p.m. UTC | #9
On Tue, Oct 01, 2019 at 03:28:46PM +0200, Noralf Trønnes wrote:
> 
> 
> Den 01.10.2019 14.36, skrev Jason Gunthorpe:
> > 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 <noralf@tronnes.org>
> >> Reviewed-by: Hans de Goede <hdegoede@redhat.com> 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)
> > 
> 
> Would this commit fix this by any chance:
> 
> drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER
> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=dfef959803c728c616ad29b008cd91b3446a993a

Yes, thank you, can someone send this to -rc to unbreak 5.4?

Jason
Noralf Trønnes Oct. 1, 2019, 2:07 p.m. UTC | #10
Hi drm-misc maintainers,

I have just applied a patch to drm-misc-next that as it turns out should
have been applied to -fixes for this -rc cycle.

Should I cherry pick it to drm-misc-next-fixes?
(I know there's a flowchart in the docs but I've never really understood
it.)

Noralf.

Den 01.10.2019 15.45, skrev Jason Gunthorpe:
> On Tue, Oct 01, 2019 at 03:28:46PM +0200, Noralf Trønnes wrote:
>>
>>
>> Den 01.10.2019 14.36, skrev Jason Gunthorpe:
>>> 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 <noralf@tronnes.org>
>>>> Reviewed-by: Hans de Goede <hdegoede@redhat.com> 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)
>>>
>>
>> Would this commit fix this by any chance:
>>
>> drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER
>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=dfef959803c728c616ad29b008cd91b3446a993a
> 
> Yes, thank you, can someone send this to -rc to unbreak 5.4?
> 
> Jason
>
Daniel Vetter Oct. 9, 2019, 10:45 a.m. UTC | #11
On Tue, Oct 01, 2019 at 04:07:38PM +0200, Noralf Trønnes wrote:
> Hi drm-misc maintainers,
> 
> I have just applied a patch to drm-misc-next that as it turns out should
> have been applied to -fixes for this -rc cycle.
> 
> Should I cherry pick it to drm-misc-next-fixes?

Yup, cherry pick and reference the commit that's already in -next (in case
it creates conflicts down the road that reference makes the mess easier to
understand).

> (I know there's a flowchart in the docs but I've never really understood
> it.)

Usually bugfixes for kernel releases should land in drm-misc-next-fixes or
drm-misc-fixes. But cherry-picking over in case of mistakes is ok too.
-Daniel

> 
> Noralf.
> 
> Den 01.10.2019 15.45, skrev Jason Gunthorpe:
> > On Tue, Oct 01, 2019 at 03:28:46PM +0200, Noralf Trønnes wrote:
> >>
> >>
> >> Den 01.10.2019 14.36, skrev Jason Gunthorpe:
> >>> 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 <noralf@tronnes.org>
> >>>> Reviewed-by: Hans de Goede <hdegoede@redhat.com> 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)
> >>>
> >>
> >> Would this commit fix this by any chance:
> >>
> >> drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER
> >> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=dfef959803c728c616ad29b008cd91b3446a993a
> > 
> > Yes, thank you, can someone send this to -rc to unbreak 5.4?
> > 
> > Jason
> >
Noralf Trønnes Oct. 9, 2019, 12:48 p.m. UTC | #12
Den 09.10.2019 12.45, skrev Daniel Vetter:
> On Tue, Oct 01, 2019 at 04:07:38PM +0200, Noralf Trønnes wrote:
>> Hi drm-misc maintainers,
>>
>> I have just applied a patch to drm-misc-next that as it turns out should
>> have been applied to -fixes for this -rc cycle.
>>
>> Should I cherry pick it to drm-misc-next-fixes?
> 
> Yup, cherry pick and reference the commit that's already in -next (in case
> it creates conflicts down the road that reference makes the mess easier to
> understand).
> 

I remembered that Maxime just sent out a fixes pull and the subject says
drm-misc-fixes. The prevous one he sent out was -next-fixes.
So it looks like I should cherry pick to drm-misc-fixes for it to show
up in 5.4?

Noralf.

>> (I know there's a flowchart in the docs but I've never really understood
>> it.)
> 
> Usually bugfixes for kernel releases should land in drm-misc-next-fixes or
> drm-misc-fixes. But cherry-picking over in case of mistakes is ok too.
> -Daniel
> 
>>
>> Noralf.
>>
>> Den 01.10.2019 15.45, skrev Jason Gunthorpe:
>>> On Tue, Oct 01, 2019 at 03:28:46PM +0200, Noralf Trønnes wrote:
>>>>
>>>>
>>>> Den 01.10.2019 14.36, skrev Jason Gunthorpe:
>>>>> 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 <noralf@tronnes.org>
>>>>>> Reviewed-by: Hans de Goede <hdegoede@redhat.com> 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)
>>>>>
>>>>
>>>> Would this commit fix this by any chance:
>>>>
>>>> drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER
>>>> https://cgit.freedesktop.org/drm/drm-misc/commit/?id=dfef959803c728c616ad29b008cd91b3446a993a
>>>
>>> Yes, thank you, can someone send this to -rc to unbreak 5.4?
>>>
>>> Jason
>>>
>
Maxime Ripard Oct. 9, 2019, 1:31 p.m. UTC | #13
On Wed, Oct 09, 2019 at 02:48:20PM +0200, Noralf Trønnes wrote:
> Den 09.10.2019 12.45, skrev Daniel Vetter:
> > On Tue, Oct 01, 2019 at 04:07:38PM +0200, Noralf Trønnes wrote:
> >> Hi drm-misc maintainers,
> >>
> >> I have just applied a patch to drm-misc-next that as it turns out should
> >> have been applied to -fixes for this -rc cycle.
> >>
> >> Should I cherry pick it to drm-misc-next-fixes?
> >
> > Yup, cherry pick and reference the commit that's already in -next (in case
> > it creates conflicts down the road that reference makes the mess easier to
> > understand).
> >
>
> I remembered that Maxime just sent out a fixes pull and the subject says
> drm-misc-fixes. The prevous one he sent out was -next-fixes.
> So it looks like I should cherry pick to drm-misc-fixes for it to show
> up in 5.4?

drm-misc-next-fixes is the branch where we gather fixes supposed to be
applied on top of drm-misc-next during the merge window. If you have
something targeting the current release, it should be drm-misc-fixes
indeed.

Maxime
Noralf Trønnes Oct. 10, 2019, 1:30 p.m. UTC | #14
Den 09.10.2019 15.31, skrev Maxime Ripard:
> On Wed, Oct 09, 2019 at 02:48:20PM +0200, Noralf Trønnes wrote:
>> Den 09.10.2019 12.45, skrev Daniel Vetter:
>>> On Tue, Oct 01, 2019 at 04:07:38PM +0200, Noralf Trønnes wrote:
>>>> Hi drm-misc maintainers,
>>>>
>>>> I have just applied a patch to drm-misc-next that as it turns out should
>>>> have been applied to -fixes for this -rc cycle.
>>>>
>>>> Should I cherry pick it to drm-misc-next-fixes?
>>>
>>> Yup, cherry pick and reference the commit that's already in -next (in case
>>> it creates conflicts down the road that reference makes the mess easier to
>>> understand).
>>>
>>
>> I remembered that Maxime just sent out a fixes pull and the subject says
>> drm-misc-fixes. The prevous one he sent out was -next-fixes.
>> So it looks like I should cherry pick to drm-misc-fixes for it to show
>> up in 5.4?
> 
> drm-misc-next-fixes is the branch where we gather fixes supposed to be
> applied on top of drm-misc-next during the merge window. If you have
> something targeting the current release, it should be drm-misc-fixes
> indeed.

Thanks, it's applied now.

Noralf.

> 
> Maxime
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 98c732f925c7..0b30afa7524d 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -112,7 +112,7 @@  obj-$(CONFIG_DRM_ARCPGU)+= arc/
 obj-y			+= hisilicon/
 obj-$(CONFIG_DRM_ZTE)	+= zte/
 obj-$(CONFIG_DRM_MXSFB)	+= mxsfb/
-obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
+obj-y			+= tinydrm/
 obj-$(CONFIG_DRM_PL111) += pl111/
 obj-$(CONFIG_DRM_TVE200) += tve200/
 obj-$(CONFIG_DRM_XEN) += xen/
diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig
index 42b06f4f8989..f8c9a0e71dde 100644
--- a/drivers/gpu/drm/tinydrm/Kconfig
+++ b/drivers/gpu/drm/tinydrm/Kconfig
@@ -1,16 +1,9 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
-menuconfig DRM_TINYDRM
-	tristate "Support for simple displays"
-	depends on DRM
-	select DRM_KMS_HELPER
-	select DRM_KMS_CMA_HELPER
-	help
-	  Choose this option if you have a tinydrm supported display.
-	  If M is selected the module will be called tinydrm.
-
 config TINYDRM_HX8357D
 	tristate "DRM support for HX8357D display panels"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	select DRM_MIPI_DBI
 	select BACKLIGHT_CLASS_DEVICE
 	help
@@ -21,7 +14,9 @@  config TINYDRM_HX8357D
 
 config TINYDRM_ILI9225
 	tristate "DRM support for ILI9225 display panels"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	select DRM_MIPI_DBI
 	help
 	  DRM driver for the following Ilitek ILI9225 panels:
@@ -31,7 +26,9 @@  config TINYDRM_ILI9225
 
 config TINYDRM_ILI9341
 	tristate "DRM support for ILI9341 display panels"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	select DRM_MIPI_DBI
 	select BACKLIGHT_CLASS_DEVICE
 	help
@@ -42,7 +39,9 @@  config TINYDRM_ILI9341
 
 config TINYDRM_MI0283QT
 	tristate "DRM support for MI0283QT"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	select DRM_MIPI_DBI
 	select BACKLIGHT_CLASS_DEVICE
 	help
@@ -51,7 +50,9 @@  config TINYDRM_MI0283QT
 
 config TINYDRM_REPAPER
 	tristate "DRM support for Pervasive Displays RePaper panels (V231)"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	depends on THERMAL || !THERMAL
 	help
 	  DRM driver for the following Pervasive Displays panels:
@@ -64,7 +65,9 @@  config TINYDRM_REPAPER
 
 config TINYDRM_ST7586
 	tristate "DRM support for Sitronix ST7586 display panels"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	select DRM_MIPI_DBI
 	help
 	  DRM driver for the following Sitronix ST7586 panels:
@@ -74,7 +77,9 @@  config TINYDRM_ST7586
 
 config TINYDRM_ST7735R
 	tristate "DRM support for Sitronix ST7735R display panels"
-	depends on DRM_TINYDRM && SPI
+	depends on DRM && SPI
+	select DRM_KMS_HELPER
+	select DRM_KMS_CMA_HELPER
 	select DRM_MIPI_DBI
 	select BACKLIGHT_CLASS_DEVICE
 	help