lkml.org 
[lkml]   [2011]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] kconfig: unify GENERIC_ISA_DMA and ISA_DMA_API
On Wed, Jan 26, 2011 at 12:00:08PM -0800, David Rientjes wrote:
> On Wed, 26 Jan 2011, Russell King - ARM Linux wrote:
>
> > On Tue, Jan 25, 2011 at 05:06:28PM -0800, David Rientjes wrote:
> > > CONFIG_GENERIC_ISA_DMA and CONFIG_ISA_DMA_API usually have dependencies
> > > on one another depending on the architecture and generic kernel code uses
> > > either to determine whether an ISA-style DMA API is configured.
> >
> > Wrong.
> >
> > GENERIC_ISA_DMA enables support for the standard ISA DMA allocator found
> > in kernel/dma.c
> >
> > ISA_DMA_API says that a platform supports the ISA DMA interfaces.
> >
> > An architecture can provide the ISA DMA interfaces, but not use the
> > standard ISA DMA allocator found in kernel/dma.c. Such as the one in
> > arch/arm/kernel/dma.c.
> >
> > So on ARM, we have platforms where ISA_DMA_API=y but GENERIC_ISA_DMA=n.
> >
>
> Ok, fair enough. Thanks for pointing that out. I'll work to resolve the
> existing dependency chain on x86 that cause build failures when one is
> disabled and another is not and add Kconfig dependencies on drivers that
> require GENERIC_ISA_DMA.

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.


\
 
 \ /
  Last update: 2011-01-26 21:15    [W:0.036 / U:0.528 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site