Re: [patch] kconfig: unify GENERIC_ISA_DMA and ISA_DMA_API

From: David Rientjes
Date: Wed Jan 26 2011 - 20:22:53 EST


On Wed, 26 Jan 2011, Russell King - ARM Linux wrote:

> Drivers should depend on ISA_DMA_API as that indicates that the ISA DMA
> API is present - in other words, when the following are available from
> an architecture/platform:
>
> dma_spin_lock
> claim_dma_lock
> release_dma_lock
> enable_dma
> disable_dma
> clear_dma_ff
> set_dma_mode
> set_dma_page
> set_dma_addr
> set_dma_count
> get_dma_residue
> request_dma
> free_dma
>
> GENERIC_ISA_DMA should be set by an architecture/platform when ISA_DMA_API
> has already been set -and- it wants to use kernel/dma.c. No drivers should
> depend on GENERIC_ISA_DMA.

Very good information, thanks! x86 wants to use kernel/dma.c since it has
no ISA-style DMA allocator of its own, which should have tipped me off
since they're both "def_bool y" right now (and the tons of linker failures
when only CONFIG_GENERIC_ISA_DMA is disabled). So what I'll do is make
CONFIG_ISA_DMA_API select CONFIG_GENERIC_ISA_DMA for x86 -- that prevents
all build errors for allyesconfig. (Alpha could probably benefit from the
same requirement.)

My end goal is to make CONFIG_GENERIC_ISA_DMA, CONFIG_ISA_DMA_API, and
CONFIG_ZONE_DMA configurable for x86 (we've been running with that config
for a couple years and it's a 1% savings on the kernel image). Peter
wanted that to be done under CONFIG_EMBEDDED after it was renamed to
CONFIG_EXPERT so now that that's been done in 2.6.38-rc2, it should be
well received.

Thanks Russell!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/