On Wed, 2011-05-04 at 12:40 +0300, Tony Lindgren wrote: > * Archit Taneja <archit@xxxxxx> [110504 10:30]: > > --- a/arch/arm/mach-omap2/board-3430sdp.c > > +++ b/arch/arm/mach-omap2/board-3430sdp.c > > @@ -401,7 +401,7 @@ static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = { > > /* VPLL2 for digital video outputs */ > > static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = { > > REGULATOR_SUPPLY("vdds_dsi", "omapdss"), > > - REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), > > + REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), > > }; > > > > static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = { > > diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c > > index 570e83f..eafadb4 100644 > > --- a/arch/arm/mach-omap2/board-4430sdp.c > > +++ b/arch/arm/mach-omap2/board-4430sdp.c > > @@ -375,7 +375,7 @@ static struct regulator_consumer_supply sdp4430_vmmc_supply[] = { > > }; > > static struct regulator_consumer_supply sdp4430_vcxio_supply[] = { > > REGULATOR_SUPPLY("vdds_dsi", "omapdss_dss"), > > - REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"), > > + REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"), > > }; > ... > > Looks like we should first combine all this cut and paste data > for each board file into some common init function to cut > down the "crazy churn". Sorry, I don't see how this would be possible with the regulator framework. What we would need is to setup some regulator_consumer_supplies dynamically depending on the omap and on the given parameters. Adding Liam and Mark for possible comments. A short summary of the situation: OMAP display subsystem (DSS) HW needs a few power supplies (vdds_dsi, vdds_sdi, vdda_dac), depending on the OMAP version. All the known boards have the standard TWL power chip which provides these powers, and they are connected almost always the same way. However, there's no reason that the powers for DSS couldn't be provided from some other source. As an example, on OMAP3 we could have: (regulator -> name -> driver) VDDA_DAC -> "vdda_dac" -> omapdss_venc VPLL2 -> "vdds_dsi" -> omapdss VPLL2 -> "vdds_dsi" -> omapdss_dsi So currently we have REGULATOR_SUPPLY defines for each board in all the board files which support display. It would be much better to have an overrideable standard setup for the DSS powers, but this would require dynamically setting up the regulator_consumer_supplies. And I can't see how this could be done, except dynamically creating the regulator_consumer_supply array before initializing the TWL chip, but as DSS is not the only user of those powers the end result could be quite a mess with changes needed in every board file. Tomi -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html