[HEADS UP] planned change to <asm-generic/dma-mapping.h> will cause arch breakage

Christoph Hellwig (hch@lst.de)
Fri, 25 Apr 2003 13:40:20 +0200


To allow including <linux/dma-mapping.h> in generic code the default
implemtation of the dma-mapping API in terms of the PCI API will have
to go away. What does this mean for your architecture?

- If your architecture doesn't use <asm-generic/dma-mapping.h>
(arm, i386, parisc): Nothing.
- If your architecture doesn't support PCI (cris, s390. um):
Nothing, except that your arch won't break anymore if somsone
includes dma-mapping.h in generic code. But it would be cool to move
over your dma-capable busses to the dma-mapping API...
- Everyone else: Unless you properly implement the dma-mapping in
your architecture the dma_* APIs won't work anymore for you.
The simplest way to get support for it on pci busses is to change
your implementation of the pci_* dma functions to the dma_* prototypes
and add the following to their top:

struct pci_dev *pdev = to_pci_dev(dev);

and maybe

BUG_ON(dev->bus != &pci_bus_type);

Of course it would be much nicer if you could add support for the
dma-mapping API to your other dma-capable busses..
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/