On Mon, Sep 12, 2011 at 03:52:14PM +0100, Mark Brown wrote:
On Mon, Sep 12, 2011 at 03:59:05PM +0200, David Jander wrote:
Mark Brown broonie@opensource.wolfsonmicro.com wrote:
Note the "dynamic" bit - the configuration changes at runtime. Describing the hardware for something like a modern smartphone isn't particularly useful due to the flexibility, there are too many different ways of configuring the system and we need code to acutally take those decision.
Ok, but you could still describe the hardwired part of it (Audio muxes, codecs, busses and physical interfaces). Isn't that what OF is all about? In our case, its just a simple AC97 codec connected to a simple AC97 bus. Sounds like total overkill having to write a "fabric driver" for this.... while there are already quite a few that are all 99% the same!
I'm not sure I understand what you are talking about. As I've already said at least once having a *machine* driver which covers multiple machines is absolutely OK. We already have several such drivers in kernel.
Yes, a machine driver is quite a sane way to manage the huge range of variability of a machine's audio complex. If it turns out that an SoC only ever has one machine driver that handles all possible configurations, it still isn't really more complex. If, however, the permutations are sufficiently different to warrant separate driver then the groundwork is already established to support it sanely.
BTW, this isn't a question about "what OF is all about". It makes perfect sense in the OF context to have a node describing how multiple devices are aggregated into a single logically composite device.
Do a machine driver. It's the right thing to do.
g.