Question on supporting multiple HW versions with a single driver (warning: long post)

Bill Gatliff bgat at
Tue Feb 8 16:13:02 EST 2011


I think the Silicon Motion SM501 driver might provide a useful
example, since the chip comes in both memory-mapped and PCI versions.
Unfortunately the chip is implemented as a multi-function driver
(mfd), so the code is not un-complicated.  Still fairly
straightforward and well-written once you learn your way around it,

Basically, it implements a core set of functionality to talk to the
actual chip registers, which is bus-agnostic.  Then the bus-specific
drivers use these functions when they actually want to touch the chip
itself.  In other words, exactly what David suggested.


On Mon, Feb 7, 2011 at 8:37 PM,  <Bruce_Leonard at> wrote:
>> There are a number of drivers which already have this sort of dual bus
>> binding.
> Thanks for the feedback David, I appreciate it.  Could you point me to one
> of those drivers that has "this sort of dual bus binding" so can see an
> example of what I'm trying to do?
> Bruce
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at

Bill Gatliff
bgat at

More information about the Linuxppc-dev mailing list