On Wed, 2011-05-04 at 13:53 +0300, Tomi Valkeinen wrote: > 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". > > I was actually thinking about this earlier today. > > All the boards I have seen use vdds_dsi the same way (depending on the > omap version, though). For OMAP3 it comes from VPPL2 and for OMAP4 it's > VCXIO. Optimally a common piece of code would just set up the regulator > properly. > > But I think in the end the config has to come from the board data, as I > don't see that the above config would be the only possibility. The > vdds_dsi could be supplied from anywhere (with suitable voltage, of > course), as far as I understand. > > What we could do is: > > 1. The board file tells the common display code which regulator is used > for vdds_dsi, and the common code can setup the regulator supply for all > DSS devices which need it (omapdss_dss, omapdss_dsi1, omapdss_dsi2). > > I guess this needs dynamically adding the regulator supply in display.c, > and I'm not quite sure if that's possible. We have to look at this. I don't see how this would be possible. As far as I see, the regulator consumers have to be given statically at init time. We could get the whole VPLL2 or VCXIO supply array from a common display code, but that would prevent adding any other consumers to those regulators, so that's not an option either. 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