> The work I'm doing here is for stupid PCI firmware engineers, who have
> created devices that are different things, all bound up under the same
> PCI device. I'm thinking of watchdog timers and random number
> generator and i2c controller on the same PCI device, or even the more
> basic, frame buffer and DRM access to the same PCI video device.
> > The OLPC is a good example of hardware that needs this kind of
> functionality.
Sounds interesting. I've been meaning to work on this too for quite a
while, but I'm glad to see you beat me to it.
An example of an in-tree use case for this would be the mlx4 drivers--
you can look at drivers/net/mlx4/intf.c to see the simple stupid
solution I came up with to allow an IB and a NIC (not yet upstream)
driver to share the same PCI device. A good test for your stuff would
be if it simplifies the code from the ad hoc solution I came up with.