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 <a...@arndb.de>
---
 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

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to