Re: [PATCH v7 10/26] gpio/omap: remove hardcoded offsets in context save/restore

2011-09-21 Thread Tony Lindgren
* Tarun Kanti DebBarma tarun.ka...@ti.com [110913 05:29]:
 It is not required to use hard-coded offsets any more in context save and
 restore functions and instead use the generic offsets which have been 
 correctly
 initialized during device registration.
 
 Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
 Signed-off-by: Charulatha V ch...@ti.com
 Reviewed-by: Santosh Shilimkar santosh.shilim...@ti.com

Acked-by: Tony Lindgren t...@atomide.com
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v7 10/26] gpio/omap: remove hardcoded offsets in context save/restore

2011-09-13 Thread Tarun Kanti DebBarma
It is not required to use hard-coded offsets any more in context save and
restore functions and instead use the generic offsets which have been correctly
initialized during device registration.

Signed-off-by: Tarun Kanti DebBarma tarun.ka...@ti.com
Signed-off-by: Charulatha V ch...@ti.com
Reviewed-by: Santosh Shilimkar santosh.shilim...@ti.com
---
 arch/arm/mach-omap2/gpio.c |2 +
 arch/arm/plat-omap/include/plat/gpio.h |1 +
 drivers/gpio/gpio-omap.c   |   41 ++-
 3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c
index 06fa913..5ce695c 100644
--- a/arch/arm/mach-omap2/gpio.c
+++ b/arch/arm/mach-omap2/gpio.c
@@ -94,6 +94,7 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void 
*unused)
pdata-regs-irqstatus = OMAP24XX_GPIO_IRQSTATUS1;
pdata-regs-irqstatus2 = OMAP24XX_GPIO_IRQSTATUS2;
pdata-regs-irqenable = OMAP24XX_GPIO_IRQENABLE1;
+   pdata-regs-irqenable2 = OMAP24XX_GPIO_IRQENABLE2;
pdata-regs-set_irqenable = OMAP24XX_GPIO_SETIRQENABLE1;
pdata-regs-clr_irqenable = OMAP24XX_GPIO_CLEARIRQENABLE1;
pdata-regs-debounce = OMAP24XX_GPIO_DEBOUNCE_VAL;
@@ -116,6 +117,7 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void 
*unused)
pdata-regs-irqstatus = OMAP4_GPIO_IRQSTATUS0;
pdata-regs-irqstatus2 = OMAP4_GPIO_IRQSTATUS1;
pdata-regs-irqenable = OMAP4_GPIO_IRQSTATUSSET0;
+   pdata-regs-irqenable2 = OMAP4_GPIO_IRQSTATUSSET1;
pdata-regs-set_irqenable = OMAP4_GPIO_IRQSTATUSSET0;
pdata-regs-clr_irqenable = OMAP4_GPIO_IRQSTATUSCLR0;
pdata-regs-debounce = OMAP4_GPIO_DEBOUNCINGTIME;
diff --git a/arch/arm/plat-omap/include/plat/gpio.h 
b/arch/arm/plat-omap/include/plat/gpio.h
index 9590532..61865b4 100644
--- a/arch/arm/plat-omap/include/plat/gpio.h
+++ b/arch/arm/plat-omap/include/plat/gpio.h
@@ -184,6 +184,7 @@ struct omap_gpio_reg_offs {
u16 irqstatus;
u16 irqstatus2;
u16 irqenable;
+   u16 irqenable2;
u16 set_irqenable;
u16 clr_irqenable;
u16 debounce;
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index d9bf7ac..9715cf2 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1371,45 +1371,42 @@ void omap2_gpio_resume_after_idle(void)
 static void omap_gpio_save_context(struct gpio_bank *bank)
 {
bank-context.irqenable1 =
-   __raw_readl(bank-base + OMAP24XX_GPIO_IRQENABLE1);
+   __raw_readl(bank-base + bank-regs-irqenable);
bank-context.irqenable2 =
-   __raw_readl(bank-base + OMAP24XX_GPIO_IRQENABLE2);
+   __raw_readl(bank-base + bank-regs-irqenable2);
bank-context.wake_en =
-   __raw_readl(bank-base + OMAP24XX_GPIO_WAKE_EN);
-   bank-context.ctrl = __raw_readl(bank-base + OMAP24XX_GPIO_CTRL);
-   bank-context.oe = __raw_readl(bank-base + OMAP24XX_GPIO_OE);
+   __raw_readl(bank-base + bank-regs-wkup_en);
+   bank-context.ctrl = __raw_readl(bank-base + bank-regs-ctrl);
+   bank-context.oe = __raw_readl(bank-base + bank-regs-direction);
bank-context.leveldetect0 =
-   __raw_readl(bank-base + OMAP24XX_GPIO_LEVELDETECT0);
+   __raw_readl(bank-base + bank-regs-leveldetect0);
bank-context.leveldetect1 =
-   __raw_readl(bank-base + OMAP24XX_GPIO_LEVELDETECT1);
+   __raw_readl(bank-base + bank-regs-leveldetect1);
bank-context.risingdetect =
-   __raw_readl(bank-base + OMAP24XX_GPIO_RISINGDETECT);
+   __raw_readl(bank-base + bank-regs-risingdetect);
bank-context.fallingdetect =
-   __raw_readl(bank-base + OMAP24XX_GPIO_FALLINGDETECT);
-   bank-context.dataout =
-   __raw_readl(bank-base + OMAP24XX_GPIO_DATAOUT);
+   bank-context.dataout = __raw_readl(bank-base + bank-regs-dataout);
 }
 
 static void omap_gpio_restore_context(struct gpio_bank *bank)
 {
__raw_writel(bank-context.irqenable1,
-   bank-base + OMAP24XX_GPIO_IRQENABLE1);
+   bank-base + bank-regs-irqenable);
__raw_writel(bank-context.irqenable2,
-   bank-base + OMAP24XX_GPIO_IRQENABLE2);
+   bank-base + bank-regs-irqenable2);
__raw_writel(bank-context.wake_en,
-   bank-base + OMAP24XX_GPIO_WAKE_EN);
-   __raw_writel(bank-context.ctrl, bank-base + OMAP24XX_GPIO_CTRL);
-   __raw_writel(bank-context.oe, bank-base + OMAP24XX_GPIO_OE);
+   bank-base + bank-regs-wkup_en);
+   __raw_writel(bank-context.ctrl, bank-base + bank-regs-ctrl);
+