diff options
author | Kevin Hilman <khilman@ti.com> | 2011-11-24 02:43:01 +0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-11-24 02:43:01 +0400 |
commit | 46232a3622c6e33605906ee6690dfef372925f53 (patch) | |
tree | cdfa7d32a8ebf7f380aaff0ccc45d472d4da6536 /arch/arm/mach-omap2/twl-common.c | |
parent | cc1b0765da6078b906772b79ff211b88cc0ae958 (diff) | |
download | linux-46232a3622c6e33605906ee6690dfef372925f53.tar.xz |
ARM: OMAP: PM: only register TWL with voltage layer when device is present
Current code registers voltage layer details for TWL PMIC even when a TWL
has not been registered. Fix this to only register the TWL with voltage
layer when the TWL PMIC is initialized by board-level code.
Signed-off-by: Kevin Hilman <khilman@ti.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/twl-common.c')
-rw-r--r-- | arch/arm/mach-omap2/twl-common.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c index 522435772168..10b20c652e5d 100644 --- a/arch/arm/mach-omap2/twl-common.c +++ b/arch/arm/mach-omap2/twl-common.c @@ -30,6 +30,7 @@ #include <plat/usb.h> #include "twl-common.h" +#include "pm.h" static struct i2c_board_info __initdata pmic_i2c_board_info = { .addr = 0x48, @@ -48,6 +49,16 @@ void __init omap_pmic_init(int bus, u32 clkrate, omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1); } +void __init omap_pmic_late_init(void) +{ + /* Init the OMAP TWL parameters (if PMIC has been registerd) */ + if (!pmic_i2c_board_info.irq) + return; + + omap3_twl_init(); + omap4_twl_init(); +} + #if defined(CONFIG_ARCH_OMAP3) static struct twl4030_usb_data omap3_usb_pdata = { .usb_mode = T2_USB_MODE_ULPI, |