Re: Questions regarding mfd drivers

From: Ben Dooks
Date: Mon Feb 04 2008 - 18:02:13 EST


On Mon, Feb 04, 2008 at 12:37:14PM +0100, Kristoffer Ericson wrote:
> Greetings,
>
> Trying to wrap my head around sm501. From what I can tell an mfd driver is a "master" driver that takes control of all
> memory and io areas. It then hands out areas of those to drivers. Anywhere near correct?

Yes, it is the central management for these, but also ensures that any
of the sub-drivers have properly locked access to the clocks, gpio and
other shared resources.

The mfd driver for the sm501 exports a number of functions for the
sub drivers to use, you should be able to see what is exported easily
by the fact they are exported with EXPORT_SYMBOL_GPL(). The header
files should document basic functionality of this.

> I can see some benefit but still hard for me to motivate. What am I missing? What will the mfd be able to do, that I lack now?
>
> The sm501 driver seems way more advanced than I will need for hd64461/hd64465 anyhow, but still need to understand sm501 completely before
> attempting to write one on my own. Anyone know any documentation aside from example drivers?

Are you trying to write your own SM501, or something else? It seems
you are writing for something else.

If the chip you are targetting has shared resources, such as clock
gates, PLLs, or gpio that other drivers need to touch, then the best
way to go is for an mfd driver to provide this functionality and have
all the child drivers use the exported functionality.

--
Ben (ben@xxxxxxxxx, http://www.fluff.org/)

'a smiley only costs 4 bytes'
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/