From f129c231ec7a2dd96e92933415b0ab1e099efbaf Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Fri, 8 Jul 2011 17:40:37 +0530 Subject: arm: enterprise: Clean some of tps80031 definition Adding public definition in the 80031 header so that client can used directly in place of defining at client level. Change-Id: Ifb64e0ffc83bc29c470d08a49d0915613a677537 Reviewed-on: http://git-master/r/40208 Reviewed-by: Varun Colbert Tested-by: Varun Colbert --- arch/arm/mach-tegra/board-enterprise-power.c | 12 ++++++------ arch/arm/mach-tegra/board-enterprise.h | 15 ++++++++------- drivers/mfd/tps80031.c | 4 ++-- include/linux/mfd/tps80031.h | 11 ++++++++++- 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/arch/arm/mach-tegra/board-enterprise-power.c b/arch/arm/mach-tegra/board-enterprise-power.c index b25d9e1b39e7..f268f6b1ce7a 100644 --- a/arch/arm/mach-tegra/board-enterprise-power.c +++ b/arch/arm/mach-tegra/board-enterprise-power.c @@ -182,7 +182,7 @@ TPS_PDATA_INIT(vana, 1000, 3300, 0, 0, 0, 0, -1, 0, 0, 0); TPS_PDATA_INIT(vbus, 0, 5000, 0, 0, 0, 0, -1, 0, 0, VBUS_SW_ONLY); static struct tps80031_rtc_platform_data rtc_data = { - .irq = TPS80031_IRQ_BASE + TPS80031_INT_RTC_ALARM, + .irq = ENT_TPS80031_IRQ_BASE + TPS80031_INT_RTC_ALARM, .time = { .tm_year = 2011, .tm_mon = 0, @@ -233,8 +233,8 @@ struct tps80031_32kclock_plat_data clk32k_pdata = { static struct tps80031_platform_data tps_platform = { .num_subdevs = ARRAY_SIZE(tps80031_devs), .subdevs = tps80031_devs, - .irq_base = TPS80031_IRQ_BASE, - .gpio_base = TPS80031_GPIO_BASE, + .irq_base = ENT_TPS80031_IRQ_BASE, + .gpio_base = ENT_TPS80031_GPIO_BASE, .clk32k_pdata = &clk32k_pdata, }; @@ -323,9 +323,9 @@ static int gpio_switch_cam_ldo_1v8_en_voltages[] = {1800}; .disable_rail = _disable, \ } -GREG_INIT(0, pmu_5v15_en, NULL, TPS80031_GPIO_REGEN1, false, 0, 0, 0, 0); -GREG_INIT(1, pmu_3v3_en, "vdd_5v15", TPS80031_GPIO_REGEN2, false, 0, 0, 0, 0); -GREG_INIT(2, pmu_hdmi_5v0_en, "vdd_5v15", TPS80031_GPIO_SYSEN, false, 0, 0, 0, 0); +GREG_INIT(0, pmu_5v15_en, NULL, ENT_TPS80031_GPIO_REGEN1, false, 0, 0, 0, 0); +GREG_INIT(1, pmu_3v3_en, "vdd_5v15", ENT_TPS80031_GPIO_REGEN2, false, 0, 0, 0, 0); +GREG_INIT(2, pmu_hdmi_5v0_en, "vdd_5v15", ENT_TPS80031_GPIO_SYSEN, false, 0, 0, 0, 0); GREG_INIT(3, vdd_fuse_en, "avdd_usb_hdmi_3v3", TEGRA_GPIO_PM0, false, 0, 0, 0, 0); GREG_INIT(4, sdmmc3_vdd_sel, "vddio_sdmmc_2v85", TEGRA_GPIO_PM1, false, 0, 0, 0, 0); diff --git a/arch/arm/mach-tegra/board-enterprise.h b/arch/arm/mach-tegra/board-enterprise.h index 5790d5e4e3e4..849bd5de18ab 100644 --- a/arch/arm/mach-tegra/board-enterprise.h +++ b/arch/arm/mach-tegra/board-enterprise.h @@ -23,6 +23,7 @@ #include #include +#include int enterprise_charge_init(void); int enterprise_sdhci_init(void); @@ -43,16 +44,16 @@ int enterprise_suspend_init(void); /*****************External GPIO tables ******************/ /* External peripheral gpio base. */ -#define TPS80031_GPIO_BASE TEGRA_NR_GPIOS -#define TPS80031_GPIO_REGEN1 (TPS80031_GPIO_BASE + 0) -#define TPS80031_GPIO_REGEN2 (TPS80031_GPIO_BASE + 1) -#define TPS80031_GPIO_SYSEN (TPS80031_GPIO_BASE + 2) -#define TPS80031_GPIO_END (TPS80031_GPIO_BASE + 3) +#define ENT_TPS80031_GPIO_BASE TEGRA_NR_GPIOS +#define ENT_TPS80031_GPIO_REGEN1 (ENT_TPS80031_GPIO_BASE + TPS80031_GPIO_REGEN1) +#define ENT_TPS80031_GPIO_REGEN2 (ENT_TPS80031_GPIO_BASE + TPS80031_GPIO_REGEN2) +#define ENT_TPS80031_GPIO_SYSEN (ENT_TPS80031_GPIO_BASE + TPS80031_GPIO_SYSEN) +#define ENT_TPS80031_GPIO_END (ENT_TPS80031_GPIO_BASE + TPS80031_GPIO_NR) /*****************External Interrupt tables ******************/ /* External peripheral irq base */ -#define TPS80031_IRQ_BASE TEGRA_NR_IRQS -#define TPS80031_IRQ_END (TPS80031_IRQ_BASE + 24) +#define ENT_TPS80031_IRQ_BASE TEGRA_NR_IRQS +#define ENT_TPS80031_IRQ_END (ENT_TPS80031_IRQ_BASE + TPS80031_INT_NR) /*****************Camera GPIOs ******************/ #define CAM_CSI_MUX_SEL_GPIO TEGRA_GPIO_PM3 diff --git a/drivers/mfd/tps80031.c b/drivers/mfd/tps80031.c index 1132c03f2970..af989064fe2b 100644 --- a/drivers/mfd/tps80031.c +++ b/drivers/mfd/tps80031.c @@ -503,7 +503,7 @@ static void tps80031_gpio_init(struct tps80031 *tps80031, tps80031->gpio.label = tps->client->name; tps80031->gpio.dev = tps80031->dev; tps80031->gpio.base = gpio_base; - tps80031->gpio.ngpio = 3; + tps80031->gpio.ngpio = TPS80031_GPIO_NR; tps80031->gpio.can_sleep = 1; tps80031->gpio.request = tps80031_gpio_enable; @@ -742,7 +742,7 @@ static int __devinit tps80031_irq_init(struct tps80031 *tps80031, int irq, tps80031->irq_chip.bus_lock = tps80031_irq_lock; tps80031->irq_chip.bus_sync_unlock = tps80031_irq_sync_unlock; - for (i = 0; i < ARRAY_SIZE(tps80031_irqs); i++) { + for (i = 0; i < TPS80031_INT_NR; i++) { int __irq = i + tps80031->irq_base; set_irq_chip_data(__irq, tps80031); set_irq_chip_and_handler(__irq, &tps80031->irq_chip, diff --git a/include/linux/mfd/tps80031.h b/include/linux/mfd/tps80031.h index f6435611580b..120a77aca899 100644 --- a/include/linux/mfd/tps80031.h +++ b/include/linux/mfd/tps80031.h @@ -86,7 +86,16 @@ enum { TPS80031_INT_LINCH_GATED, /* Last interrupt id to get the end number */ - TPS80031_INT_END, + TPS80031_INT_NR, +}; + +enum TPS80031_GPIO { + TPS80031_GPIO_REGEN1, + TPS80031_GPIO_REGEN2, + TPS80031_GPIO_SYSEN, + + /* Last entry */ + TPS80031_GPIO_NR, }; enum { -- cgit v1.2.3