tosa update for tc6393xb gpio

From: Dmitry Baryshkov <dbaryshkov@gmail.com>

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>

diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
index addb775..e504ad6 100644
--- a/arch/arm/mach-pxa/tosa.c
+++ b/arch/arm/mach-pxa/tosa.c
@@ -35,6 +35,7 @@
 #include <asm/mach-types.h>
 #include <asm/hardware.h>
 #include <asm/irq.h>
+#include <asm/gpio.h>
 #include <asm/system.h>
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/irda.h>
@@ -449,10 +450,13 @@ static struct tc6393xb_platform_data tosa_tc6393xb_setup = {
 	.scr_ccr	= 0x1010,
 	.scr_mcr	= 0x80AA,
 	.scr_gper	= 0x3300,
-	.scr_gpo_dsr	= TOSA_TC6393XB_CARD_VCC_ON | TOSA_TC6393XB_CHARGE_OFF_JC,
+	.scr_gpo_dsr	=
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_CARD_VCC_ON) |
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_CHARGE_OFF_JC),
 	.scr_gpo_doecr	= TOSA_TC6393XB_GPO_OE,
 
 	.irq_base	= IRQ_BOARD_START,
+	.gpio_base	= TOSA_TC6393XB_GPIO_BASE,
 
 	.enable		= tosa_tc6393xb_enable,
 	.disable	= tosa_tc6393xb_disable,
diff --git a/include/asm-arm/arch-pxa/tosa.h b/include/asm-arm/arch-pxa/tosa.h
index e22ca65..8eaf7b6 100644
--- a/include/asm-arm/arch-pxa/tosa.h
+++ b/include/asm-arm/arch-pxa/tosa.h
@@ -20,16 +20,21 @@
 /* Jacket Scoop */
 #define TOSA_SCOOP_PHYS  	(PXA_CS5_PHYS + 0x00800000)
 
-#define TC6393XB_GPIO(i)		(1 << (i))
 /*
  * TC6393 GPIOs
  */
-#define TOSA_TC6393XB_TG_ON  		TC6393XB_GPIO(0)
-#define TOSA_TC6393XB_L_MUTE  		TC6393XB_GPIO(1)
-#define TOSA_TC6393XB_BL_C20MA		TC6393XB_GPIO(3)
-#define TOSA_TC6393XB_CARD_VCC_ON 	TC6393XB_GPIO(4)
+
+#define TOSA_TC6393XB_GPIO_BASE		NR_BUILTIN_GPIO
+
+#define TC6393XB_GPIO(i)		(TOSA_TC6393XB_GPIO_BASE + (i))
+#define TC6393XB_GPIO_BIT(gpio)			(1 << (gpio - TOSA_TC6393XB_GPIO_BASE))
+
+#define TOSA_TC6393XB_TG_ON  			TC6393XB_GPIO(0)
+#define TOSA_TC6393XB_L_MUTE  			TC6393XB_GPIO(1)
+#define TOSA_TC6393XB_BL_C20MA			TC6393XB_GPIO(3)
+#define TOSA_TC6393XB_CARD_VCC_ON 		TC6393XB_GPIO(4)
 #define TOSA_TC6393XB_CHARGE_OFF 		TC6393XB_GPIO(6)
-#define TOSA_TC6393XB_CHARGE_OFF_JC 	TC6393XB_GPIO(7)
+#define TOSA_TC6393XB_CHARGE_OFF_JC 		TC6393XB_GPIO(7)
 #define TOSA_TC6393XB_BAT0_V_ON 		TC6393XB_GPIO(9)
 #define TOSA_TC6393XB_BAT1_V_ON 		TC6393XB_GPIO(10)
 #define TOSA_TC6393XB_BU_CHRG_ON 		TC6393XB_GPIO(11)
@@ -37,12 +42,19 @@
 #define TOSA_TC6393XB_BAT0_TH_ON 		TC6393XB_GPIO(14)
 #define TOSA_TC6393XB_BAT1_TH_ON 		TC6393XB_GPIO(15)
 
-#define TOSA_TC6393XB_GPO_OE (TOSA_TC6393XB_TG_ON | TOSA_TC6393XB_L_MUTE | TOSA_TC6393XB_BL_C20MA | \
-		TOSA_TC6393XB_CARD_VCC_ON | TOSA_TC6393XB_CHARGE_OFF | \
-		TOSA_TC6393XB_CHARGE_OFF_JC | TOSA_TC6393XB_BAT0_V_ON | \
-		TOSA_TC6393XB_BAT1_V_ON | TOSA_TC6393XB_BU_CHRG_ON | \
-		TOSA_TC6393XB_BAT_SW_ON | TOSA_TC6393XB_BAT0_TH_ON | \
-		TOSA_TC6393XB_BAT1_TH_ON)
+#define TOSA_TC6393XB_GPO_OE (			\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_TG_ON) |		\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_L_MUTE) |		\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BL_C20MA) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_CARD_VCC_ON) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_CHARGE_OFF) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_CHARGE_OFF_JC) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BAT0_V_ON) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BAT1_V_ON) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BU_CHRG_ON) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BAT_SW_ON) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BAT0_TH_ON) |	\
+		TC6393XB_GPIO_BIT(TOSA_TC6393XB_BAT1_TH_ON))
 
 /*
  * SCOOP2 internal GPIOs
