2003-09-12 21:36:12

by Hollis Blanchard

[permalink] [raw]
Subject: (kconfig) IDE DMA dependencies

I noticed this when my linker couldn't find ide_setup_dma() last night.
It looks like most of the drivers/ide/pci/ drivers use ide_setup_dma()
in their .init_dma() function. ide_setup_dma() is defined in
drivers/ide/ide-dma.c, but it is only compiled if
CONFIG_BLK_DEV_IDEDMA_PCI is set. However, none of those PCI drivers
express that dependency (I'm trying to use generic.c). What should be
done here?

This is the full list of ide_setup_dma users:
aec62xx.c
alim15x3.c
amd74xx.c
cmd64x.c
cs5520.c
cs5530.c
generic.c
hpt34x.c
hpt366.c
it8172.c
ns87415.c
opti621.c
pdc202xx_new.c
pdc202xx_old.c
pdcadma.c
piix.c
sc1200.c
serverworks.c
siimage.c
sis5513.c
sl82c105.c
slc90e66.c
trm290.c
via82cxxx.c

--
Hollis Blanchard
IBM Linux Technology Center


2003-09-12 22:27:39

by Alan

[permalink] [raw]
Subject: Re: (kconfig) IDE DMA dependencies

On Gwe, 2003-09-12 at 22:36, Hollis Blanchard wrote:
> I noticed this when my linker couldn't find ide_setup_dma() last night.
> It looks like most of the drivers/ide/pci/ drivers use ide_setup_dma()
> in their .init_dma() function. ide_setup_dma() is defined in

It should be falling out as a stub function I think. In the non DMA
case it should never get invoked anyway

2003-09-12 23:05:14

by Hollis Blanchard

[permalink] [raw]
Subject: Re: (kconfig) IDE DMA dependencies

On Friday, Sep 12, 2003, at 17:26 US/Central, Alan Cox wrote:

> On Gwe, 2003-09-12 at 22:36, Hollis Blanchard wrote:
>> I noticed this when my linker couldn't find ide_setup_dma() last
>> night.
>> It looks like most of the drivers/ide/pci/ drivers use ide_setup_dma()
>> in their .init_dma() function. ide_setup_dma() is defined in
>
> It should be falling out as a stub function I think. In the non DMA
> case it should never get invoked anyway

drivers/built-in.o(.text+0x39f90): In function `init_dma_generic':
drivers/ide/pci/generic.c:77: undefined reference to `ide_setup_dma'
drivers/built-in.o(.text+0x4a7e8): In function `ide_hwif_setup_dma':
drivers/ide/setup-pci.c:511: undefined reference to `ide_setup_dma'

Even if it is stubbed correctly though, don't we want DMA (i.e. it's
safe) with most of those drivers?

--
Hollis Blanchard
IBM Linux Technology Center

2003-09-12 23:15:18

by Alan

[permalink] [raw]
Subject: Re: (kconfig) IDE DMA dependencies

On Sad, 2003-09-13 at 00:05, Hollis Blanchard wrote:
> drivers/built-in.o(.text+0x39f90): In function `init_dma_generic':
> drivers/ide/pci/generic.c:77: undefined reference to `ide_setup_dma'
> drivers/built-in.o(.text+0x4a7e8): In function `ide_hwif_setup_dma':
> drivers/ide/setup-pci.c:511: undefined reference to `ide_setup_dma'
>
> Even if it is stubbed correctly though, don't we want DMA (i.e. it's
> safe) with most of those drivers?

Thats up to the user. Removing the DMA support makes no real difference
for many devices (eg CF cards) but saves a chunk of RAM