Re: [PATCH 2/2] media: pci: mgb4: remove bogus 'select' statements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 27, 2023, at 16:17, Martin Tůma wrote:
>
> On 23. 10. 23 18:05, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@xxxxxxxx>
>> 
>> As this is just a regular device driver, it has no business force-enabling
>> other drivers in the system, it should be entirely independent of the
>> implementation of the spi-nor layer or the specific DMA engine.
>> 
>
> The drivers are required for IP cores that are used on the card (in the 
> FPGA). Without I2C_XILINX and XILINX_XDMA the card won't work at all. 
> Without SPI_XILINX the access to the card's FLASH (used e.g. for FW 
> changes) won't be possible.
>
> A change to "depend" instead of "select" is thus possible if it makes 
> more sense to you, but removing it would make the module not compile or 
> not work at runtime (there is no symbol dependency to I2C_XILINX and 
> SPI_XILINX, but both need to be present and are loaded using 
> request_module() at runtime).

Sorry for the delay at getting back to you here.

I don't think there is a good answer here, though I normally
try to only list the minimal dependencies that are required
at build time. E.g. for on-chip devices we don't require the
use of a particular clock/irq/pin/gpio/... controller even if
we know exactly which of those are used on a given chip.

Since this is a PCI device, it's a bit different, so maybe
something like this would work to correctly document which
dependencies are required at build time vs run time:

--- a/drivers/media/pci/mgb4/Kconfig
+++ b/drivers/media/pci/mgb4/Kconfig
@@ -1,15 +1,13 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_MGB4
        tristate "Digiteq Automotive MGB4 support"
-       depends on VIDEO_DEV && PCI && I2C && DMADEVICES && SPI && MTD && IIO
+       depends on VIDEO_DEV && PCI && I2C && SPI && MTD && IIO
        depends on COMMON_CLK
+       depends on XILINX_XDMA
+       depends on (I2C_XILINX && SPI_XILINX) || COMPILE_TEST
        select VIDEOBUF2_DMA_SG
        select IIO_BUFFER
        select IIO_TRIGGERED_BUFFER
-       select I2C_XILINX
-       select SPI_XILINX
-       select MTD_SPI_NOR
-       select XILINX_XDMA
        help
          This is a video4linux driver for Digiteq Automotive MGB4 grabber
          cards.

     Arnd




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux