* Peter Ujfalusi peter.ujfalusi@ti.com [110601 06:13]:
On Wednesday 01 June 2011 16:00:34 Tony Lindgren wrote:
Yeah, most of it might be possible to describe with just a flags like TWL_HAS_VIBRA etc.
Or TWL_BOARD_HAS_VIBRA, TWL_BOARD_HAS_CODEC...
For the audio part it is a bit complicated than that: different base frequencies, for twl6040 we have parameters for Vibra (twl4030 class only have the coexistence). The soc codec has a list of misc parameters for board specific configurations as well (not all board using them). I was thinking to switch the MFD driver(s) to use flags to specify the needed child, and change the child drivers to deal with the missing platform data themselves. In that way, board files can pass the vibra/codec platform data to the new i2c_twl file for example, and provide flags to enable functionality.
OK, sounds doable.
I'll take a look, but I think it is not going to be part of v2 of this series.
We should not do renaming before the clean-up though, it gets classified as "unnecesary churn".
The changes in board files are minimal. The biggest part is the code move, and that will remain the same now or later...
But you could easily remove all the board specific struct twl4030_codec_data and struct twl4030_codec_audio_data entries by adding a default audio init option to omap_pmic_init for the common configuration.
How about something like:
void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq, struct twl4030_platform_data *pmic_data, u32 flags);
Where flags would be TWL_BOARD_HAS_DEFAULT_CODEC etc, and if the entry in pmic_data is NULL, just use the default configuration. I think you already have the clkrate there?
Regards,
Tony