Message ID | 1308702288-12787-1-git-send-email-girishsg@ti.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Delegated to: | Tony Lindgren |
Headers | show |
On Tue, Jun 21, 2011 at 5:24 PM, Girish S G <girishsg@ti.com> wrote: <snip> > diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c > index 04b7770..46f6800 100644 > --- a/arch/arm/mach-omap2/board-4430sdp.c > +++ b/arch/arm/mach-omap2/board-4430sdp.c > @@ -560,6 +560,9 @@ static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = { > }; > static int __init omap4_i2c_init(void) > { > + /* This will allow unused regulator to be shutdown */ > + regulator_has_full_constraints(); > + Any particular reason to keep this call in i2c_init() function? Does not look very intuitive to have generic regulator disable call in an i2c init function ! > omap4_pmic_init("twl6030", &sdp4430_twldata); > omap_register_i2c_bus(2, 400, NULL, 0); > omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, > diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c > index 3415a5e..c425f9f 100644 > --- a/arch/arm/mach-omap2/board-omap4panda.c > +++ b/arch/arm/mach-omap2/board-omap4panda.c > @@ -412,6 +412,9 @@ static struct i2c_board_info __initdata panda_i2c_eeprom[] = { > > static int __init omap4_panda_i2c_init(void) > { > + /* This will allow unused regulator to be shutdown */ > + regulator_has_full_constraints(); > + ditto > omap4_pmic_init("twl6030", &omap4_panda_twldata); > omap_register_i2c_bus(2, 400, NULL, 0); > /* -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Jun 22, 2011 at 5:12 PM, Pandita, Vikram <vikram.pandita@ti.com> wrote: > On Tue, Jun 21, 2011 at 5:24 PM, Girish S G <girishsg@ti.com> wrote: > <snip> >> diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c >> index 04b7770..46f6800 100644 >> --- a/arch/arm/mach-omap2/board-4430sdp.c >> +++ b/arch/arm/mach-omap2/board-4430sdp.c >> @@ -560,6 +560,9 @@ static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = { >> }; >> static int __init omap4_i2c_init(void) >> { >> + /* This will allow unused regulator to be shutdown */ >> + regulator_has_full_constraints(); >> + > > Any particular reason to keep this call in i2c_init() function? > Does not look very intuitive to have generic regulator disable call in > an i2c init function ! In the regulator late init call the core will decide on regulator status, so this has to be specified before the pmic/twl data is registered. Regards, Girish > > >> omap4_pmic_init("twl6030", &sdp4430_twldata); >> omap_register_i2c_bus(2, 400, NULL, 0); >> omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, >> diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c >> index 3415a5e..c425f9f 100644 >> --- a/arch/arm/mach-omap2/board-omap4panda.c >> +++ b/arch/arm/mach-omap2/board-omap4panda.c >> @@ -412,6 +412,9 @@ static struct i2c_board_info __initdata panda_i2c_eeprom[] = { >> >> static int __init omap4_panda_i2c_init(void) >> { >> + /* This will allow unused regulator to be shutdown */ >> + regulator_has_full_constraints(); >> + > > ditto > >> omap4_pmic_init("twl6030", &omap4_panda_twldata); >> omap_register_i2c_bus(2, 400, NULL, 0); >> /* > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
"Ghongdemath, Girish" <girishsg@ti.com> writes: > On Wed, Jun 22, 2011 at 5:12 PM, Pandita, Vikram <vikram.pandita@ti.com> wrote: >> On Tue, Jun 21, 2011 at 5:24 PM, Girish S G <girishsg@ti.com> wrote: >> <snip> >>> diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c >>> index 04b7770..46f6800 100644 >>> --- a/arch/arm/mach-omap2/board-4430sdp.c >>> +++ b/arch/arm/mach-omap2/board-4430sdp.c >>> @@ -560,6 +560,9 @@ static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = { >>> }; >>> static int __init omap4_i2c_init(void) >>> { >>> + /* This will allow unused regulator to be shutdown */ >>> + regulator_has_full_constraints(); >>> + >> >> Any particular reason to keep this call in i2c_init() function? >> Does not look very intuitive to have generic regulator disable call in >> an i2c init function ! > > In the regulator late init call the core will decide on regulator > status, so this has to be specified > before the pmic/twl data is registered. Vikram's point still stands. This is not related to I2C init, so it should not be in the i2c init function. Just make it the last call the machine-specific .init_machine function. Kevin -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 04b7770..46f6800 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c @@ -560,6 +560,9 @@ static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = { }; static int __init omap4_i2c_init(void) { + /* This will allow unused regulator to be shutdown */ + regulator_has_full_constraints(); + omap4_pmic_init("twl6030", &sdp4430_twldata); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo, diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c index 3415a5e..c425f9f 100644 --- a/arch/arm/mach-omap2/board-omap4panda.c +++ b/arch/arm/mach-omap2/board-omap4panda.c @@ -412,6 +412,9 @@ static struct i2c_board_info __initdata panda_i2c_eeprom[] = { static int __init omap4_panda_i2c_init(void) { + /* This will allow unused regulator to be shutdown */ + regulator_has_full_constraints(); + omap4_pmic_init("twl6030", &omap4_panda_twldata); omap_register_i2c_bus(2, 400, NULL, 0); /*
As of now, the unused regulators are not getting disabled. Only those regulators are disabled which are properly handled by drivers. Calling regulator_has_full_constraints() will cause the regulator core to disable all regulators which have a zero use count and don't have always_on=true specified during registration. Signed-off-by: Girish S G <girishsg@ti.com> --- arch/arm/mach-omap2/board-4430sdp.c | 3 +++ arch/arm/mach-omap2/board-omap4panda.c | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-)