media: ipu-bridge: Fix Kconfig dependencies
authorSakari Ailus <sakari.ailus@linux.intel.com>
Wed, 27 Sep 2023 08:53:12 +0000 (11:53 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 2 Oct 2023 08:02:53 +0000 (10:02 +0200)
The current Kconfig symbol dependencies allow having the following Kconfig
symbol values

CONFIG_IPU_BRIDGE=m
CONFIG_VIDEO_IPU3_CIO2=y
CONFIG_CIO2_BRIDGE=n

This does not work as the IPU bridge API is conditional to
IS_ENABLED(CONFIG_IPU_BRIDGE). Fix this by changing the dependencies so
that CONFIG_IPU_BRIDGE can be separately selected.

The CONFIG_CIO2_BRIDGE symbol becomes redundant as a result and is
removed.

Fixes: 2545a2c02ba1 ("media: ipu3-cio2: allow ipu_bridge to be a module again")
Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/pci/intel/Kconfig
drivers/media/pci/intel/ipu3/Kconfig
drivers/staging/media/atomisp/Kconfig

index e113902..ee46841 100644 (file)
@@ -1,11 +1,19 @@
 # SPDX-License-Identifier: GPL-2.0-only
+
+source "drivers/media/pci/intel/ipu3/Kconfig"
+source "drivers/media/pci/intel/ivsc/Kconfig"
+
 config IPU_BRIDGE
-       tristate
+       tristate "Intel IPU Bridge"
        depends on I2C && ACPI
        help
-         This is a helper module for the IPU bridge, which can be
-         used by ipu3 and other drivers. In order to handle module
-         dependencies, this is selected by each driver that needs it.
+         The IPU bridge is a helper library for Intel IPU drivers to
+         function on systems shipped with Windows.
 
-source "drivers/media/pci/intel/ipu3/Kconfig"
-source "drivers/media/pci/intel/ivsc/Kconfig"
+         Currently used by the ipu3-cio2 and atomisp drivers.
+
+         Supported systems include:
+
+         - Microsoft Surface models (except Surface Pro 3)
+         - The Lenovo Miix line (for example the 510, 520, 710 and 720)
+         - Dell 7285
index 0951545..c0a250d 100644 (file)
@@ -2,13 +2,13 @@
 config VIDEO_IPU3_CIO2
        tristate "Intel ipu3-cio2 driver"
        depends on VIDEO_DEV && PCI
+       depends on IPU_BRIDGE || !IPU_BRIDGE
        depends on ACPI || COMPILE_TEST
        depends on X86
        select MEDIA_CONTROLLER
        select VIDEO_V4L2_SUBDEV_API
        select V4L2_FWNODE
        select VIDEOBUF2_DMA_SG
-       select IPU_BRIDGE if CIO2_BRIDGE
 
        help
          This is the Intel IPU3 CIO2 CSI-2 receiver unit, found in Intel
@@ -18,22 +18,3 @@ config VIDEO_IPU3_CIO2
          Say Y or M here if you have a Skylake/Kaby Lake SoC with MIPI CSI-2
          connected camera.
          The module will be called ipu3-cio2.
-
-config CIO2_BRIDGE
-       bool "IPU3 CIO2 Sensors Bridge"
-       depends on VIDEO_IPU3_CIO2 && ACPI
-       depends on I2C
-       help
-         This extension provides an API for the ipu3-cio2 driver to create
-         connections to cameras that are hidden in the SSDB buffer in ACPI.
-         It can be used to enable support for cameras in detachable / hybrid
-         devices that ship with Windows.
-
-         Say Y here if your device is a detachable / hybrid laptop that comes
-         with Windows installed by the OEM, for example:
-
-               - Microsoft Surface models (except Surface Pro 3)
-               - The Lenovo Miix line (for example the 510, 520, 710 and 720)
-               - Dell 7285
-
-         If in doubt, say N here.
index 5d89171..75c985d 100644 (file)
@@ -12,12 +12,12 @@ menuconfig INTEL_ATOMISP
 config VIDEO_ATOMISP
        tristate "Intel Atom Image Signal Processor Driver"
        depends on VIDEO_DEV && INTEL_ATOMISP
+       depends on IPU_BRIDGE
        depends on MEDIA_PCI_SUPPORT
        depends on PMIC_OPREGION
        depends on I2C
        select V4L2_FWNODE
        select IOSF_MBI
-       select IPU_BRIDGE
        select VIDEOBUF2_VMALLOC
        select VIDEO_V4L2_SUBDEV_API
        help