aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKevin Hilman <khilman@ti.com>2011-04-22 17:37:16 -0400
committerKevin Hilman <khilman@ti.com>2011-06-16 14:14:13 -0400
commite5ff4440cf5206fbb99d9a354ed9024eb3da047d (patch)
tree79a085d5f2e99deb9a71d018c12738e247d23846 /arch
parent9942da0e4b037a852b230208410141768d473deb (diff)
gpio/omap: cleanup show revision, remove cpu_is checks, display only once
Remove cpu_is_* checks from gpio_show_revision() by passing in the revision address offset from platform data. SoCs with no revision register (15xx, 7xx, and all MPUIOs) use -1 (actually, USHRT_MAX) to signify no register. While here, all GPIO banks are assumed to be the same revision, so fix show_revision() to only show the revision for the first bank it finds. This removes duplicate GPIO revision prints during boot. Thanks to Charulatha V <charu@ti.com> for finding/fixing a few -1s that were missed in the original patch. Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap1/gpio15xx.c2
-rw-r--r--arch/arm/mach-omap1/gpio16xx.c2
-rw-r--r--arch/arm/mach-omap1/gpio7xx.c2
-rw-r--r--arch/arm/mach-omap2/gpio.c2
-rw-r--r--arch/arm/plat-omap/include/plat/gpio.h1
5 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/gpio15xx.c b/arch/arm/mach-omap1/gpio15xx.c
index 91756245e860..f79c6aef11af 100644
--- a/arch/arm/mach-omap1/gpio15xx.c
+++ b/arch/arm/mach-omap1/gpio15xx.c
@@ -35,6 +35,7 @@ static struct __initdata resource omap15xx_mpu_gpio_resources[] = {
35}; 35};
36 36
37static struct omap_gpio_reg_offs omap15xx_mpuio_regs = { 37static struct omap_gpio_reg_offs omap15xx_mpuio_regs = {
38 .revision = USHRT_MAX,
38 .direction = OMAP_MPUIO_IO_CNTL, 39 .direction = OMAP_MPUIO_IO_CNTL,
39 .datain = OMAP_MPUIO_INPUT_LATCH, 40 .datain = OMAP_MPUIO_INPUT_LATCH,
40 .dataout = OMAP_MPUIO_OUTPUT, 41 .dataout = OMAP_MPUIO_OUTPUT,
@@ -75,6 +76,7 @@ static struct __initdata resource omap15xx_gpio_resources[] = {
75}; 76};
76 77
77static struct omap_gpio_reg_offs omap15xx_gpio_regs = { 78static struct omap_gpio_reg_offs omap15xx_gpio_regs = {
79 .revision = USHRT_MAX,
78 .direction = OMAP1510_GPIO_DIR_CONTROL, 80 .direction = OMAP1510_GPIO_DIR_CONTROL,
79 .datain = OMAP1510_GPIO_DATA_INPUT, 81 .datain = OMAP1510_GPIO_DATA_INPUT,
80 .dataout = OMAP1510_GPIO_DATA_OUTPUT, 82 .dataout = OMAP1510_GPIO_DATA_OUTPUT,
diff --git a/arch/arm/mach-omap1/gpio16xx.c b/arch/arm/mach-omap1/gpio16xx.c
index a6d4a71ea4af..c69b3b104286 100644
--- a/arch/arm/mach-omap1/gpio16xx.c
+++ b/arch/arm/mach-omap1/gpio16xx.c
@@ -38,6 +38,7 @@ static struct __initdata resource omap16xx_mpu_gpio_resources[] = {
38}; 38};
39 39
40static struct omap_gpio_reg_offs omap16xx_mpuio_regs = { 40static struct omap_gpio_reg_offs omap16xx_mpuio_regs = {
41 .revision = USHRT_MAX,
41 .direction = OMAP_MPUIO_IO_CNTL, 42 .direction = OMAP_MPUIO_IO_CNTL,
42 .datain = OMAP_MPUIO_INPUT_LATCH, 43 .datain = OMAP_MPUIO_INPUT_LATCH,
43 .dataout = OMAP_MPUIO_OUTPUT, 44 .dataout = OMAP_MPUIO_OUTPUT,
@@ -78,6 +79,7 @@ static struct __initdata resource omap16xx_gpio1_resources[] = {
78}; 79};
79 80
80static struct omap_gpio_reg_offs omap16xx_gpio_regs = { 81static struct omap_gpio_reg_offs omap16xx_gpio_regs = {
82 .revision = OMAP1610_GPIO_REVISION,
81 .direction = OMAP1610_GPIO_DIRECTION, 83 .direction = OMAP1610_GPIO_DIRECTION,
82 .set_dataout = OMAP1610_GPIO_SET_DATAOUT, 84 .set_dataout = OMAP1610_GPIO_SET_DATAOUT,
83 .clr_dataout = OMAP1610_GPIO_CLEAR_DATAOUT, 85 .clr_dataout = OMAP1610_GPIO_CLEAR_DATAOUT,
diff --git a/arch/arm/mach-omap1/gpio7xx.c b/arch/arm/mach-omap1/gpio7xx.c
index 12bcd9f2864a..d7f2ad3e6ac7 100644
--- a/arch/arm/mach-omap1/gpio7xx.c
+++ b/arch/arm/mach-omap1/gpio7xx.c
@@ -40,6 +40,7 @@ static struct __initdata resource omap7xx_mpu_gpio_resources[] = {
40}; 40};
41 41
42static struct omap_gpio_reg_offs omap7xx_mpuio_regs = { 42static struct omap_gpio_reg_offs omap7xx_mpuio_regs = {
43 .revision = USHRT_MAX,
43 .direction = OMAP_MPUIO_IO_CNTL / 2, 44 .direction = OMAP_MPUIO_IO_CNTL / 2,
44 .datain = OMAP_MPUIO_INPUT_LATCH / 2, 45 .datain = OMAP_MPUIO_INPUT_LATCH / 2,
45 .dataout = OMAP_MPUIO_OUTPUT / 2, 46 .dataout = OMAP_MPUIO_OUTPUT / 2,
@@ -80,6 +81,7 @@ static struct __initdata resource omap7xx_gpio1_resources[] = {
80}; 81};
81 82
82static struct omap_gpio_reg_offs omap7xx_gpio_regs = { 83static struct omap_gpio_reg_offs omap7xx_gpio_regs = {
84 .revision = USHRT_MAX,
83 .direction = OMAP7XX_GPIO_DIR_CONTROL, 85 .direction = OMAP7XX_GPIO_DIR_CONTROL,
84 .datain = OMAP7XX_GPIO_DATA_INPUT, 86 .datain = OMAP7XX_GPIO_DATA_INPUT,
85 .dataout = OMAP7XX_GPIO_DATA_OUTPUT, 87 .dataout = OMAP7XX_GPIO_DATA_OUTPUT,
diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c
index 316d930651f1..9a46d7773a48 100644
--- a/arch/arm/mach-omap2/gpio.c
+++ b/arch/arm/mach-omap2/gpio.c
@@ -71,6 +71,7 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
71 case 0: 71 case 0:
72 case 1: 72 case 1:
73 pdata->bank_type = METHOD_GPIO_24XX; 73 pdata->bank_type = METHOD_GPIO_24XX;
74 pdata->regs->revision = OMAP24XX_GPIO_REVISION;
74 pdata->regs->direction = OMAP24XX_GPIO_OE; 75 pdata->regs->direction = OMAP24XX_GPIO_OE;
75 pdata->regs->datain = OMAP24XX_GPIO_DATAIN; 76 pdata->regs->datain = OMAP24XX_GPIO_DATAIN;
76 pdata->regs->dataout = OMAP24XX_GPIO_DATAOUT; 77 pdata->regs->dataout = OMAP24XX_GPIO_DATAOUT;
@@ -86,6 +87,7 @@ static int omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused)
86 break; 87 break;
87 case 2: 88 case 2:
88 pdata->bank_type = METHOD_GPIO_44XX; 89 pdata->bank_type = METHOD_GPIO_44XX;
90 pdata->regs->revision = OMAP4_GPIO_REVISION;
89 pdata->regs->direction = OMAP4_GPIO_OE; 91 pdata->regs->direction = OMAP4_GPIO_OE;
90 pdata->regs->datain = OMAP4_GPIO_DATAIN; 92 pdata->regs->datain = OMAP4_GPIO_DATAIN;
91 pdata->regs->dataout = OMAP4_GPIO_DATAOUT; 93 pdata->regs->dataout = OMAP4_GPIO_DATAOUT;
diff --git a/arch/arm/plat-omap/include/plat/gpio.h b/arch/arm/plat-omap/include/plat/gpio.h
index 7a3f067ee532..91e8de3db085 100644
--- a/arch/arm/plat-omap/include/plat/gpio.h
+++ b/arch/arm/plat-omap/include/plat/gpio.h
@@ -175,6 +175,7 @@ struct omap_gpio_dev_attr {
175}; 175};
176 176
177struct omap_gpio_reg_offs { 177struct omap_gpio_reg_offs {
178 u16 revision;
178 u16 direction; 179 u16 direction;
179 u16 datain; 180 u16 datain;
180 u16 dataout; 181 u16 dataout;