Thread (28 messages) 28 messages, 7 authors, 2018-05-07

Re: [PATCH v3 12/20] media: Remove depends on HAS_DMA in case of platform dependency

From: Geert Uytterhoeven <hidden>
Date: 2018-05-07 07:21:47
Also in: alsa-devel, linux-crypto, linux-fpga, linux-i2c, linux-ide, linux-iio, linux-iommu, linux-mmc, linux-remoteproc, linux-serial, linux-spi, lkml

Hi Mauro,

On Sat, May 5, 2018 at 2:47 PM, Mauro Carvalho Chehab
[off-list ref] wrote:
Em Tue, 17 Apr 2018 19:49:12 +0200
Geert Uytterhoeven [off-list ref] escreveu:
quoted
Remove dependencies on HAS_DMA where a Kconfig symbol depends on another
symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST".
Applying a patch like that is hard, as there are lots of churn at
the code. That's against latest media upstream:
[...]

I can rebase. What's your preferred target? media-next?
quoted
In most cases this other symbol is an architecture or platform specific
symbol, or PCI.

Generic symbols and drivers without platform dependencies keep their
dependencies on HAS_DMA, to prevent compiling subsystems or drivers that
cannot work anyway.
Actually, depends on HAS_DMA was introduced on media because builds
were failing otherwise. We started adding it before the addition
of COMPILE_TEST.
Indeed. Before the 5 commits below, a missing dependency on HAS_DMA
would cause the build to fail for NO_DMA platforms.

    f29ab49b5388b2f8 dma-mapping: Convert NO_DMA get_dma_ops() into a real dummy
    ab642e952f80c66c dma-coherent: Add NO_DMA dummies for managed DMA API
    c1ce6c2beea38171 mm: Add NO_DMA dummies for DMA pool API
    bff739b6559e2fce scsi: Add NO_DMA dummies for SCSI DMA mapping API
    1f674e16f9ce6eb2 usb: gadget: Add NO_DMA dummies for DMA mapping API
Can we just remove all HAS_DMA Kconfig dependencies as a hole from the
entire media subsystem, with something like:

        $ for i in $(find drivers/media -name Kconfig) $(find drivers/staging/media -name Kconfig); do sed '/depends on HAS_DMA/d;s/ && HAS_DMA//g' -i $i; done

Or would it cause build issues?
It should not cause build issues, but it would enable lots of drivers that
need DMA platform support on platforms where they wouldn't work, making the
life of distro configurators harder.

That's why my series removes HAS_DMA only for symbols that have a platform
dependency.

Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help