Message ID | 1284593451.3586.17.camel@black |
---|---|
State | Accepted |
Delegated to: | Leann Ogasawara |
Headers | show |
On 09/15/2010 05:30 PM, Mathieu Poirier wrote: >> From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001 > From: Mathieu J. Poirier<mathieu.poirier@canonical.com> > Date: Wed, 15 Sep 2010 17:14:01 -0600 > Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM > > This is to allow the omapfb sub system to complete its > initialisation properly and enable LCD display. > > https://bugs.launchpad.net/bugs/630885 > > Signed-off-by: Mathieu Poirier<mathieu.poirier@canonical.com> > --- > arch/arm/mach-omap2/board-omap3evm.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c > index ef89ffa..be62606 100644 > --- a/arch/arm/mach-omap2/board-omap3evm.c > +++ b/arch/arm/mach-omap2/board-omap3evm.c > @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = { > }; > > /* VPLL2 for digital video outputs */ > -static struct regulator_consumer_supply omap3_evm_vpll2_supply = { > - .supply = "vdvi", > - .dev =&omap3_evm_lcd_device.dev, > +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = { > + REGULATOR_SUPPLY("vdds_sdi", "omapdss"), > + REGULATOR_SUPPLY("vdds_dsi", "omapdss"), > }; > > static struct regulator_init_data omap3_evm_vpll2 = { > @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = { > .valid_ops_mask = REGULATOR_CHANGE_MODE > | REGULATOR_CHANGE_STATUS, > }, > - .num_consumer_supplies = 1, > - .consumer_supplies =&omap3_evm_vpll2_supply, > + .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdds_supplies), > + .consumer_supplies = omap3_evm_vdds_supplies, > }; > > static struct twl4030_platform_data omap3evm_twldata = { With the kernel freeze in effect you now need to write the SRU justification. This patch is also a bit short on provenance, e.g., http://marc.info/?l=linux-omap&m=126829773001754&w=2
SRU Justification: Impact: When booting the omapdss subsystem is looking for a regulator named "vdds_sdi". When the regulator is not found the initialisation sequence is aborted, resulting in omapfb not finding a display to work with. Fix: The problem was fixed by lumping a "vdds_sdi" with the already existing "vdds_dsi" regulator. This fix take its root from work done on the Beagle board and the Pandora board. More spefically: - 7b097896e4a5b5ea4798db806e63a1138b1b8eb8 - f6873eedd94df20cfb705856a78440a4c176c6b6 Testcase: - When booting an EVM board without the patch there is no LCD display. When booting with the patch you get a graphical display. On Wed, 2010-09-15 at 17:30 -0600, Mathieu Poirier wrote: > >From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001 > From: Mathieu J. Poirier <mathieu.poirier@canonical.com> > Date: Wed, 15 Sep 2010 17:14:01 -0600 > Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM > > This is to allow the omapfb sub system to complete its > initialisation properly and enable LCD display. > > https://bugs.launchpad.net/bugs/630885 > > Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com> > --- > arch/arm/mach-omap2/board-omap3evm.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c > index ef89ffa..be62606 100644 > --- a/arch/arm/mach-omap2/board-omap3evm.c > +++ b/arch/arm/mach-omap2/board-omap3evm.c > @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = { > }; > > /* VPLL2 for digital video outputs */ > -static struct regulator_consumer_supply omap3_evm_vpll2_supply = { > - .supply = "vdvi", > - .dev = &omap3_evm_lcd_device.dev, > +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = { > + REGULATOR_SUPPLY("vdds_sdi", "omapdss"), > + REGULATOR_SUPPLY("vdds_dsi", "omapdss"), > }; > > static struct regulator_init_data omap3_evm_vpll2 = { > @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = { > .valid_ops_mask = REGULATOR_CHANGE_MODE > | REGULATOR_CHANGE_STATUS, > }, > - .num_consumer_supplies = 1, > - .consumer_supplies = &omap3_evm_vpll2_supply, > + .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdds_supplies), > + .consumer_supplies = omap3_evm_vdds_supplies, > }; > > static struct twl4030_platform_data omap3evm_twldata = { > -- > 1.7.0.4 > > > >
I note that you've marked this as 'SAUCE', but it looks like it should also go upstream. Agreed? rtg On 09/16/2010 08:44 AM, Mathieu Poirier wrote: > > SRU Justification: > > Impact: When booting the omapdss subsystem is looking for a regulator > named "vdds_sdi". When the regulator is not found the initialisation > sequence is aborted, resulting in omapfb not finding a display to work > with. > > Fix: The problem was fixed by lumping a "vdds_sdi" with the already > existing "vdds_dsi" regulator. This fix take its root from work done on > the Beagle board and the Pandora board. More spefically: > - 7b097896e4a5b5ea4798db806e63a1138b1b8eb8 > - f6873eedd94df20cfb705856a78440a4c176c6b6 > > Testcase: > - When booting an EVM board without the patch there is no LCD display. > When booting with the patch you get a graphical display. > > > > On Wed, 2010-09-15 at 17:30 -0600, Mathieu Poirier wrote: >> > From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001 >> From: Mathieu J. Poirier<mathieu.poirier@canonical.com> >> Date: Wed, 15 Sep 2010 17:14:01 -0600 >> Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM >> >> This is to allow the omapfb sub system to complete its >> initialisation properly and enable LCD display. >> >> https://bugs.launchpad.net/bugs/630885 >> >> Signed-off-by: Mathieu Poirier<mathieu.poirier@canonical.com> >> --- >> arch/arm/mach-omap2/board-omap3evm.c | 10 +++++----- >> 1 files changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c >> index ef89ffa..be62606 100644 >> --- a/arch/arm/mach-omap2/board-omap3evm.c >> +++ b/arch/arm/mach-omap2/board-omap3evm.c >> @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = { >> }; >> >> /* VPLL2 for digital video outputs */ >> -static struct regulator_consumer_supply omap3_evm_vpll2_supply = { >> - .supply = "vdvi", >> - .dev =&omap3_evm_lcd_device.dev, >> +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = { >> + REGULATOR_SUPPLY("vdds_sdi", "omapdss"), >> + REGULATOR_SUPPLY("vdds_dsi", "omapdss"), >> }; >> >> static struct regulator_init_data omap3_evm_vpll2 = { >> @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = { >> .valid_ops_mask = REGULATOR_CHANGE_MODE >> | REGULATOR_CHANGE_STATUS, >> }, >> - .num_consumer_supplies = 1, >> - .consumer_supplies =&omap3_evm_vpll2_supply, >> + .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdds_supplies), >> + .consumer_supplies = omap3_evm_vdds_supplies, >> }; >> >> static struct twl4030_platform_data omap3evm_twldata = { >> -- >> 1.7.0.4 >> >> >> >> > > >
Applied to Maverick linux master but with a modified commit message to include much of the information outlined in the SRU justification. Thanks, Leann On Wed, 2010-09-15 at 17:30 -0600, Mathieu Poirier wrote: > >From a653e18117df1973818604d057d34d7ff880affa Mon Sep 17 00:00:00 2001 > From: Mathieu J. Poirier <mathieu.poirier@canonical.com> > Date: Wed, 15 Sep 2010 17:14:01 -0600 > Subject: [PATCH] Adding vdd_sdi regulator supply to OMAP3EVM > > This is to allow the omapfb sub system to complete its > initialisation properly and enable LCD display. > > https://bugs.launchpad.net/bugs/630885 > > Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com> > --- > arch/arm/mach-omap2/board-omap3evm.c | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c > index ef89ffa..be62606 100644 > --- a/arch/arm/mach-omap2/board-omap3evm.c > +++ b/arch/arm/mach-omap2/board-omap3evm.c > @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = { > }; > > /* VPLL2 for digital video outputs */ > -static struct regulator_consumer_supply omap3_evm_vpll2_supply = { > - .supply = "vdvi", > - .dev = &omap3_evm_lcd_device.dev, > +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = { > + REGULATOR_SUPPLY("vdds_sdi", "omapdss"), > + REGULATOR_SUPPLY("vdds_dsi", "omapdss"), > }; > > static struct regulator_init_data omap3_evm_vpll2 = { > @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = { > .valid_ops_mask = REGULATOR_CHANGE_MODE > | REGULATOR_CHANGE_STATUS, > }, > - .num_consumer_supplies = 1, > - .consumer_supplies = &omap3_evm_vpll2_supply, > + .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdds_supplies), > + .consumer_supplies = omap3_evm_vdds_supplies, > }; > > static struct twl4030_platform_data omap3evm_twldata = { > -- > 1.7.0.4 > > > >
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index ef89ffa..be62606 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c @@ -514,9 +514,9 @@ static struct regulator_init_data omap3_evm_vdac = { }; /* VPLL2 for digital video outputs */ -static struct regulator_consumer_supply omap3_evm_vpll2_supply = { - .supply = "vdvi", - .dev = &omap3_evm_lcd_device.dev, +static struct regulator_consumer_supply omap3_evm_vdds_supplies[] = { + REGULATOR_SUPPLY("vdds_sdi", "omapdss"), + REGULATOR_SUPPLY("vdds_dsi", "omapdss"), }; static struct regulator_init_data omap3_evm_vpll2 = { @@ -530,8 +530,8 @@ static struct regulator_init_data omap3_evm_vpll2 = { .valid_ops_mask = REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS, }, - .num_consumer_supplies = 1, - .consumer_supplies = &omap3_evm_vpll2_supply, + .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vdds_supplies), + .consumer_supplies = omap3_evm_vdds_supplies, }; static struct twl4030_platform_data omap3evm_twldata = {