2019-10-01 12:38:28

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM

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)


2019-10-01 13:29:56

by Noralf Trønnes

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM



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 <[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)
>

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)
>

2019-10-01 13:47:00

by Jason Gunthorpe

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM

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 <[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)
> >
>
> 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

2019-10-01 14:08:39

by Noralf Trønnes

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM

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 <[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)
>>>
>>
>> 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
>

2019-10-09 10:46:19

by Daniel Vetter

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM

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 <[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)
> >>>
> >>
> >> 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
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2019-10-09 12:49:03

by Noralf Trønnes

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM



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 <[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)
>>>>>
>>>>
>>>> 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
>>>
>

2019-10-09 13:32:16

by Maxime Ripard

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM

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


Attachments:
(No filename) (1.04 kB)
signature.asc (235.00 B)
Download all attachments

2019-10-10 13:32:03

by Noralf Trønnes

[permalink] [raw]
Subject: Re: [1/3] drm/tinydrm/Kconfig: Remove menuconfig DRM_TINYDRM



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
>