On 05/08/2012 03:26 PM, Mark Brown wrote:
On Tue, May 08, 2012 at 02:52:25PM +0300, Peter Ujfalusi wrote:
+static const struct of_device_id twl6040_codec_of_match[] = {
- {.compatible = "ti,twl6040-codec", },
- { },
+}; +MODULE_DEVICE_TABLE(of, twl6040_codec_of_match);
Why are we loading MFD components using device tree? It seems like we're doing something very wrong if we need people to explicitly write this stuff out in the device tree, the whole MFD thing is purely a Linux implementation detail, as is the way the interrupt controller has been structured. I'd really not expect to see a specific node like this, especially not one that does nothing but device registration.
I have based the twl6040 DT structure on the already existing twl4030, twl6030 MFD parts. After all the twl6040 provides audio, vibra and it will also provide GPO (it has general purpose outputs - the driver is under development for this function). Also without a DT entry I will not have a way to use phandle to connect the codec in the machine driver. I would expect other operating systems should be able to sue this structure since in every environment there must be a way to handle MFD devices.