[parisc-linux] Untested port of parisc_device to generic device interface
Ivan Kokshaysky
ink@jurassic.park.msu.ru
Wed, 13 Nov 2002 14:59:02 +0300
On Tue, Nov 12, 2002 at 11:52:23PM -0800, Greg KH wrote:
> On Wed, Nov 13, 2002 at 04:46:58PM +0900, Miles Bader wrote:
> > This this would end up [or have the ability to] invoking a bus-specific
> > routine at some point, right? [so that a truly PCI-specific definition
> > could be still be had]
>
> If that was needed, yes, we should not break that functionality.
>
> Are there any existing archs that need more than just dma_mask moved to
> struct device out of pci_dev? Hm, ppc might need a bit more...
Add alpha, parisc, sparc and so on. ;-)
pci_dev->sysdata needs to be moved as well, but not only.
It seems that two things are fundamentally missing in generic
device model:
1. clean way to detect the type of container structure from arbitrary
struct device *;
2. parent/child relationship between devices of different bus types.
Example (not exactly real life, but close enough):
to do DMA mapping properly for, say, some legacy device, I need to know
that it's sitting behind ISA-to-PCI bridge X belonging in PCI domain Y of
the root-level IO controller Z.
Ivan.