From 9251762e4892e99b339510784e5995a31155566f Mon Sep 17 00:00:00 2001 From: Peter 'p2' De Schrijver Date: Mon, 20 Oct 2008 11:37:53 +0300 Subject: [PATCH] Hook twl4030 power code into twl4030 core. This patch makes twl4030 core call the power code in case the scripts are present in the platform data. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Tony Lindgren --- drivers/mfd/Kconfig | 9 +++++++++ drivers/mfd/Makefile | 1 + drivers/mfd/twl4030-core.c | 11 +++++++++++ 3 files changed, 21 insertions(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index e643f6bb81c..91c0417d354 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -64,6 +64,15 @@ config TWL4030_CORE high speed USB OTG transceiver, an audio codec (on most versions) and many other features. +config TWL4030_POWER + bool "Support power sequencing scripts on TWL4030/TPS659x0" + depends on TWL4030_CORE + help + Say yes here if you want to use the power sequencing scripts on + the TWL4030/TPS659x0. These scripts control which regulators or + oscillators are switched off or on or reset when a sleep, wakeup + or warm reset event occurs. + config MFD_TMIO bool default n diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index 92531f04c81..baa15bd8d17 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -13,6 +13,7 @@ obj-$(CONFIG_MFD_TC6387XB) += tc6387xb.o obj-$(CONFIG_MFD_TC6393XB) += tc6393xb.o obj-$(CONFIG_TWL4030_CORE) += twl4030-core.o twl4030-irq.o +obj-$(CONFIG_TWL4030_POWER) += twl4030-power.o obj-$(CONFIG_MFD_CORE) += mfd-core.o diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c index dd843c4fbcc..3fc54bf6397 100644 --- a/drivers/mfd/twl4030-core.c +++ b/drivers/mfd/twl4030-core.c @@ -77,6 +77,12 @@ #define twl_has_madc() false #endif +#ifdef CONFIG_TWL4030_POWER +#define twl_has_power() true +#else +#define twl_has_power() false +#endif + #if defined(CONFIG_RTC_DRV_TWL4030) || defined(CONFIG_RTC_DRV_TWL4030_MODULE) #define twl_has_rtc() true #else @@ -209,6 +215,8 @@ static struct twl4030mapping twl4030_map[TWL4030_MODULE_LAST + 1] = { { 3, TWL4030_BASEADD_SECURED_REG }, }; +extern void twl4030_power_init(struct twl4030_power_data *triton2_scripts); + /*----------------------------------------------------------------------*/ /* Exported Functions */ @@ -514,6 +522,9 @@ static int add_children(struct twl4030_platform_data *pdata) } } + if (twl_has_power() && pdata->power) + twl4030_power_init(pdata->power); + if (twl_has_rtc()) { twl = &twl4030_modules[3]; -- 2.41.1