[PATCH 2/3] ACPI/DRM: rework ACPI_VIDEO Kconfig dependencies
From: Arnd Bergmann
Date: Wed Jul 26 2017 - 09:55:08 EST
ACPI_VIDEO keeps causing problems with circular Kconfig dependencies,
as it depends on a couple of other symbols, and it gets selected by
drivers that may end up being depending on others.
This is an attempt to simplify this by changing all drivers that
currently 'select ACPI_VIDEO' to use 'depends on'. This by itself
simplifies the dependency lists for the other drivers. We make
ACPI_VIDEO 'default y' to avoid having it turned off for 'make
oldconfig' users. This should again be fine as x86 users will
normally want this enabled and the option is not available elsewhere.
I'm moving the 'select BACKLIGHT_CLASS_DEVICE/BACKLIGHT_LCD_SUPPORT'
into ACPI_VIDEO as a further simplification, those were already
selected by anything that selected ACPI_VIDEO before.
Changing the INPUT dependency in ACPI_CMPC is necessary to avoid a
circular dependency with X86_PLATFORM_DEVICES/NOUVEAU.
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
drivers/acpi/Kconfig | 5 ++++-
drivers/gpu/drm/gma500/Kconfig | 6 +-----
drivers/gpu/drm/i915/Kconfig | 7 +------
drivers/gpu/drm/nouveau/Kconfig | 10 ++--------
drivers/platform/x86/Kconfig | 6 ++----
5 files changed, 10 insertions(+), 24 deletions(-)
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index 1ce52f84dc23..a8f5a40e2914 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -182,9 +182,12 @@ config ACPI_BUTTON
config ACPI_VIDEO
tristate "Video"
- depends on X86 && BACKLIGHT_CLASS_DEVICE
+ depends on X86
depends on INPUT
select THERMAL
+ select BACKLIGHT_CLASS_DEVICE
+ select BACKLIGHT_LCD_SUPPORT
+ default y
help
This driver implements the ACPI Extensions For Display Adapters
for integrated graphics devices on motherboard, as specified in
diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig
index 52d855cb0569..41878bb05067 100644
--- a/drivers/gpu/drm/gma500/Kconfig
+++ b/drivers/gpu/drm/gma500/Kconfig
@@ -1,13 +1,9 @@
config DRM_GMA500
tristate "Intel GMA5/600 KMS Framebuffer"
depends on DRM && PCI && X86 && MMU
+ depends on ACPI_VIDEO || !ACPI
select DRM_KMS_HELPER
select DRM_TTM
- # GMA500 depends on ACPI_VIDEO when ACPI is enabled, just like i915
- select ACPI_VIDEO if ACPI
- select BACKLIGHT_CLASS_DEVICE if ACPI
- select BACKLIGHT_LCD_SUPPORT if ACPI
- select INPUT if ACPI
help
Say yes for an experimental 2D KMS framebuffer driver for the
Intel GMA500 ('Poulsbo') and other Intel IMG based graphics
diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index e9e64e8e9765..22978c88c7bf 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -2,6 +2,7 @@ config DRM_I915
tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
depends on DRM
depends on X86 && PCI
+ depends on ACPI_VIDEO || !ACPI
select INTEL_GTT
select INTERVAL_TREE
# we need shmfs for the swappable backing store, and in particular
@@ -12,12 +13,6 @@ config DRM_I915
select DRM_PANEL
select DRM_MIPI_DSI
select RELAY
- # i915 depends on ACPI_VIDEO when ACPI is enabled
- # but for select to work, need to select ACPI_VIDEO's dependencies, ick
- select BACKLIGHT_LCD_SUPPORT if ACPI
- select BACKLIGHT_CLASS_DEVICE if ACPI
- select INPUT if ACPI
- select ACPI_VIDEO if ACPI
select ACPI_BUTTON if ACPI
select SYNC_FILE
select IOSF_MBI
diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
index c02a13406a81..8ac61658cec1 100644
--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -1,21 +1,15 @@
config DRM_NOUVEAU
tristate "Nouveau (NVIDIA) cards"
depends on DRM && PCI && MMU
+ depends on ACPI_VIDEO || !(ACPI && X86)
select FW_LOADER
select DRM_KMS_HELPER
select DRM_TTM
- select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT
- select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
+ select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT && FB
select X86_PLATFORM_DEVICES if ACPI && X86
select ACPI_WMI if ACPI && X86
select MXM_WMI if ACPI && X86
select POWER_SUPPLY
- # Similar to i915, we need to select ACPI_VIDEO and it's dependencies
- select BACKLIGHT_LCD_SUPPORT if ACPI && X86
- select BACKLIGHT_CLASS_DEVICE if ACPI && X86
- select INPUT if ACPI && X86
- select THERMAL if ACPI && X86
- select ACPI_VIDEO if ACPI && X86
select DRM_VM
help
Choose this option for open-source NVIDIA support.
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index e0ca673bf564..2d9fb46a8d11 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -17,7 +17,7 @@ if X86_PLATFORM_DEVICES
config ACER_WMI
tristate "Acer WMI Laptop Extras"
- depends on ACPI
+ depends on ACPI_VIDEO
select LEDS_CLASS
select NEW_LEDS
depends on BACKLIGHT_CLASS_DEVICE
@@ -26,8 +26,6 @@ config ACER_WMI
depends on RFKILL || RFKILL = n
depends on ACPI_WMI
select INPUT_SPARSEKMAP
- # Acer WMI depends on ACPI_VIDEO when ACPI is enabled
- select ACPI_VIDEO if ACPI
---help---
This is a driver for newer Acer (and Wistron) laptops. It adds
wireless radio and bluetooth control, and on some laptops,
@@ -783,7 +781,7 @@ config ACPI_CMPC
tristate "CMPC Laptop Extras"
depends on ACPI
depends on RFKILL || RFKILL=n
- select INPUT
+ depends on INPUT
select BACKLIGHT_CLASS_DEVICE
select BACKLIGHT_LCD_SUPPORT
default n
--
2.9.0