Messages in this thread | | | Date | Wed, 26 Jan 2011 17:22:37 -0800 (PST) | From | David Rientjes <> | Subject | Re: [patch] kconfig: unify GENERIC_ISA_DMA and ISA_DMA_API |
| |
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!
| |