Message ID | 1521208314-4783-1-git-send-email-geert@linux-m68k.org |
---|---|
Headers | show |
Series | Allow compile-testing NO_DMA (drivers) | expand |
On Fri, Mar 16, 2018 at 02:51:33PM +0100, Geert Uytterhoeven wrote: > > This patch series: > - Removes dependencies on HAS_DMA for symbols that already have > platform dependencies implying HAS_DMA. > > To avoid allmodconfig/allyesconfig regressions on NO_DMA=y platforms, > this (drivers) series should be applied after the previous (core) > series (but not many people may notice/care ;-) > > Changes compared to v1: > - Add Reviewed-by, Acked-by, > - Drop dependency of SND_SOC_LPASS_IPQ806X on HAS_DMA, > - Drop dependency of VIDEOBUF{,2}_DMA_{CONTIG,SG} on HAS_DMA, > - Drop new dependencies of VIDEO_IPU3_CIO2, DVB_C8SECTPFE, and > MTD_NAND_MARVELL on HAS_DMA, > - Split in per-subsystem patches, > - Split-off the core part in a separate series. > > This series is against v4.16-rc5. It can also be found at > https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git/log/?h=no-dma-compile-testing-v2 > > It has been compile-tested with allmodconfig and allyesconfig for > m68k/sun3, and has received attention from the kbuild test robot. Do these patches have any dependencies? Can they be applied directly in a subsystem tree? Thanks,
Hi Herbert, On Fri, Mar 16, 2018 at 4:14 PM, Herbert Xu <herbert@gondor.apana.org.au> wrote: > On Fri, Mar 16, 2018 at 02:51:33PM +0100, Geert Uytterhoeven wrote: >> This patch series: >> - Removes dependencies on HAS_DMA for symbols that already have >> platform dependencies implying HAS_DMA. >> >> To avoid allmodconfig/allyesconfig regressions on NO_DMA=y platforms, >> this (drivers) series should be applied after the previous (core) >> series (but not many people may notice/care ;-) >> >> Changes compared to v1: >> - Add Reviewed-by, Acked-by, >> - Drop dependency of SND_SOC_LPASS_IPQ806X on HAS_DMA, >> - Drop dependency of VIDEOBUF{,2}_DMA_{CONTIG,SG} on HAS_DMA, >> - Drop new dependencies of VIDEO_IPU3_CIO2, DVB_C8SECTPFE, and >> MTD_NAND_MARVELL on HAS_DMA, >> - Split in per-subsystem patches, >> - Split-off the core part in a separate series. >> >> This series is against v4.16-rc5. It can also be found at >> https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git/log/?h=no-dma-compile-testing-v2 >> >> It has been compile-tested with allmodconfig and allyesconfig for >> m68k/sun3, and has received attention from the kbuild test robot. > > Do these patches have any dependencies? Can they be applied directly > in a subsystem tree? | To avoid allmodconfig/allyesconfig regressions on NO_DMA=y platforms, | this (drivers) series should be applied after the previous (core) | series (but not many people may notice/care ;-) Apart from introducing build failures in allmodconfig/allyesconfig builds on (uncommon) NO_DMA=y platforms, they can be applied directly and individually. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.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
On Fri, Mar 16, 2018 at 04:41:57PM +0100, Geert Uytterhoeven wrote: > > | To avoid allmodconfig/allyesconfig regressions on NO_DMA=y platforms, > | this (drivers) series should be applied after the previous (core) > | series (but not many people may notice/care ;-) Oops, didn't notice it :) > Apart from introducing build failures in allmodconfig/allyesconfig builds on > (uncommon) NO_DMA=y platforms, they can be applied directly and individually. I think I'll leave this with you then. Thanks,
> To avoid allmodconfig/allyesconfig regressions on NO_DMA=y platforms, > this (drivers) series should be applied after the previous (core) > series (but not many people may notice/care ;-) I still don't get if there is a dependency on the core patches. I.e. shall I apply the subsystem patch now by myself or do you want to push the series after the core patch and need my ack here?
Hi Wolfram, On Fri, Mar 16, 2018 at 10:23 PM, Wolfram Sang <wsa@the-dreams.de> wrote: >> To avoid allmodconfig/allyesconfig regressions on NO_DMA=y platforms, >> this (drivers) series should be applied after the previous (core) >> series (but not many people may notice/care ;-) > > I still don't get if there is a dependency on the core patches. I.e. > shall I apply the subsystem patch now by myself or do you want to push > the series after the core patch and need my ack here? Yes, there is a dependency. Without the core patches, enabling COMPILE_TEST, and compile-testing drivers irrelevant on obscure NO_DMA=y platforms will cause build failures. To play it safe, you want to postpone the subsystem patches until the core part has landed upstream. I will rebase and resubmit after v4.17-rc1. Thanks, and sorry for being unclear. Gr{oetje,eeting}s, Geert
> To play it safe, you want to postpone the subsystem patches until the core > part has landed upstream. I will rebase and resubmit after v4.17-rc1. Thanks for the heads up. I'll wait for the rebased patch then and apply it after rc1 for 4.17.
On Fri, Mar 16, 2018 at 8:51 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > Hi all, > > If NO_DMA=y, get_dma_ops() returns a reference to the non-existing > symbol bad_dma_ops, thus causing a link failure if it is ever used. > > The intention of this is twofold: > 1. To catch users of the DMA API on systems that do no support the DMA > mapping API, > 2. To avoid building drivers that cannot work on such systems anyway. > > However, the disadvantage is that we have to keep on adding dependencies > on HAS_DMA all over the place. > > Thanks to the COMPILE_TEST symbol, lots of drivers now depend on one or > more platform dependencies (that imply HAS_DMA) || COMPILE_TEST, thus > already covering intention #2. Having to add an explicit dependency on > HAS_DMA here is cumbersome, and hinders compile-testing. The same can be said for CONFIG_IOMEM and CONFIG_OF. Any plans to remove those too? CONFIG_IOMEM is mostly just a !CONFIG_UM option. Rob
Hi Rob, On Thu, Apr 5, 2018 at 2:32 AM, Rob Herring <robherring2@gmail.com> wrote: > On Fri, Mar 16, 2018 at 8:51 AM, Geert Uytterhoeven > <geert@linux-m68k.org> wrote: >> If NO_DMA=y, get_dma_ops() returns a reference to the non-existing >> symbol bad_dma_ops, thus causing a link failure if it is ever used. >> >> The intention of this is twofold: >> 1. To catch users of the DMA API on systems that do no support the DMA >> mapping API, >> 2. To avoid building drivers that cannot work on such systems anyway. >> >> However, the disadvantage is that we have to keep on adding dependencies >> on HAS_DMA all over the place. >> >> Thanks to the COMPILE_TEST symbol, lots of drivers now depend on one or >> more platform dependencies (that imply HAS_DMA) || COMPILE_TEST, thus >> already covering intention #2. Having to add an explicit dependency on >> HAS_DMA here is cumbersome, and hinders compile-testing. > > The same can be said for CONFIG_IOMEM and CONFIG_OF. Any plans to > remove those too? CONFIG_IOMEM is mostly just a !CONFIG_UM option. Perhaps, if time permits... Gr{oetje,eeting}s, Geert