Re: [RFC] generic device DMA implementation

James Bottomley (James.Bottomley@SteelEye.com)
Wed, 04 Dec 2002 15:42:41 -0600


miles@gnu.org said:
> Keep in mind that sometimes the actual _implementation_ is also highly
> PCI-specific -- that is, what works for PCI devices may not work for
> other devices and vice-versa.

> So perhaps instead of just replacing `pci_...' with `dma_...', it
> would be better to add new function pointers to `struct bus_type' for
> all this stuff (or something like that).

Not really, that can all be taken care of in the platform implementation.

The parisc implementation has exactly that problem. The platform
implementation uses the generic device platform_data to cache the iommu
accessor methods (it actually finds the iommu by walking up the device parents
until it gets to the iommu driver--which means it needs to walk off the PCI
bus).

In general, the generic device already has enough information that the
platform implementation can be highly bus specific---and, of course, once you
know exactly what bus it's on, you can cast it to the bus device if you want.

James

-
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/