Re: [PATCH v2 4/7] sparc32: Do not select ZONE_DMA

Christoph Hellwig <[email protected]> Wed, 6 Mar 2024 07:04:38 -0800
Newsgroups gmane.linux.kbuild.devel,gmane.linux.ports.sparc,gmane.linux.parport,gmane.linux.kernel
Message-ID <[email protected]>
On Wed, Mar 06, 2024 at 03:19:52PM +0100, Andreas Larsson wrote:
> > I think that is the correct thing to do then: the only
> > drivers that I see with this dependency are PCI sound cards
> > that apparently rely on DMA to the 16MB ISA range, which is
> > not provided by sparc.
> 
> The ZONE_DMA dependency does not seem related to ISA per se. Commit
> 80ab8eae70e5 ("ALSA: Enable CONFIG_ZONE_DMA for smaller PCI DMA masks")
> that started to introduce it did were about ensuring 32-bit masks.

Yikes!  That commit is just unbelievable buggy.  CONFIG_ZONE_DMA
is only for architetures to select, not drivers.  A driver randomly
enabling such an arch zone is just crazy.

I've been wondering for a while if we need some Kconfig magic
so that certain symbols can only be select from arch/* and not
elsewhere to prevent this (we had a few other similar cases like
DMA_MAP_OPS).