Re: [PATCH v3 04/18] media: ipu-bridge: Allow building as module

Andy Shevchenko
2023-07-06T09:47:57Z

On Wed, Jul 05, 2023 at 11:29:56PM +0200, Hans de Goede wrote:
> After commit f54eb0ac7c1a ("media: ipu3-cio2: rename cio2 bridge to ipu
> bridge and move out of ipu3") the ipu-bridge code is always built in
> even if all consumers are build as module.
>
> Fix this by turning "config IPU_BRIDGE" into a pure library Kconfig
> option (not user selectable, must be selected by consumers) and
> re-introducing the CIO2_BRIDGE Kconfig bits in .../pci/intel/ipu3/Kconfig
> which were dropped to still allow building ipu3-cio2 without ipu-bridge
> support.

Reviewed-by: Andy Shevchenko <andy@kernel.org>

> Fixes: f54eb0ac7c1a ("media: ipu3-cio2: rename cio2 bridge to ipu bridge and move out of ipu3")
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> drivers/media/pci/intel/Kconfig | 18 ++----------------
> drivers/media/pci/intel/ipu-bridge.c | 4 ++++
> drivers/media/pci/intel/ipu3/Kconfig | 20 ++++++++++++++++++++
> 3 files changed, 26 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/media/pci/intel/Kconfig b/drivers/media/pci/intel/Kconfig
> index 64a29b0b7033..3179184d7616 100644
> --- a/drivers/media/pci/intel/Kconfig
> +++ b/drivers/media/pci/intel/Kconfig
> @@ -1,21 +1,7 @@
> # SPDX-License-Identifier: GPL-2.0-only
> config IPU_BRIDGE
> - bool "Intel IPU Sensors Bridge"
> - depends on VIDEO_IPU3_CIO2 && ACPI
> + tristate
> + depends on ACPI
> depends on I2C
> - help
> - This extension provides an API for the Intel IPU 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.
>
> source "drivers/media/pci/intel/ipu3/Kconfig"
> diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c
> index 1c88fd925a8b..97b544736af2 100644
> --- a/drivers/media/pci/intel/ipu-bridge.c
> +++ b/drivers/media/pci/intel/ipu-bridge.c
> @@ -497,3 +497,7 @@ int ipu_bridge_init(struct pci_dev *ipu)
> return ret;
> }
> EXPORT_SYMBOL_NS_GPL(ipu_bridge_init, INTEL_IPU_BRIDGE);
> +
> +MODULE_LICENSE("GPL");
> +MODULE_AUTHOR("Dan Scally <djrscally@gmail.com>");
> +MODULE_DESCRIPTION("Intel IPU ACPI Sensors Bridge");
> diff --git a/drivers/media/pci/intel/ipu3/Kconfig b/drivers/media/pci/intel/ipu3/Kconfig
> index 9be06ee81ff0..0951545eab21 100644
> --- a/drivers/media/pci/intel/ipu3/Kconfig
> +++ b/drivers/media/pci/intel/ipu3/Kconfig
> @@ -8,6 +8,7 @@ config VIDEO_IPU3_CIO2
> 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
> @@ -17,3 +18,22 @@ 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.
> --
> 2.41.0
>

--
With Best Regards,
Andy Shevchenko