diff options
author | Eric Miao <eric.miao@marvell.com> | 2008-09-05 06:15:22 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-23 17:04:39 -0400 |
commit | 6168cda927ecdf3347537e0d01618ca2a2272007 (patch) | |
tree | 4ebd67abd724ed3af2a8c3c555d221761b6042f5 /arch | |
parent | 2d91f94174ce42378aafc7bedda2588a913d3eab (diff) |
[ARM] pxa/corgi: use generic GPIO API for SCOOP GPIOs
Original patch from Dmitry Baryshkov's inital scoop gpio conversion
work at http://git.infradead.org/users/dbaryshkov/zaurus-2.6.git.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/corgi.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-pxa/corgi_pm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/corgi.h | 10 |
3 files changed, 16 insertions, 7 deletions
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c index 68765636bfce..da1e60190706 100644 --- a/arch/arm/mach-pxa/corgi.c +++ b/arch/arm/mach-pxa/corgi.c | |||
@@ -127,6 +127,7 @@ static struct resource corgi_scoop_resources[] = { | |||
127 | static struct scoop_config corgi_scoop_setup = { | 127 | static struct scoop_config corgi_scoop_setup = { |
128 | .io_dir = CORGI_SCOOP_IO_DIR, | 128 | .io_dir = CORGI_SCOOP_IO_DIR, |
129 | .io_out = CORGI_SCOOP_IO_OUT, | 129 | .io_out = CORGI_SCOOP_IO_OUT, |
130 | .gpio_base = CORGI_SCOOP_GPIO_BASE, | ||
130 | }; | 131 | }; |
131 | 132 | ||
132 | struct platform_device corgiscoop_device = { | 133 | struct platform_device corgiscoop_device = { |
@@ -426,10 +427,7 @@ static struct pxa2xx_spi_chip corgi_ads7846_chip = { | |||
426 | static void corgi_notify_intensity(int intensity) | 427 | static void corgi_notify_intensity(int intensity) |
427 | { | 428 | { |
428 | /* Bit 5 is via SCOOP */ | 429 | /* Bit 5 is via SCOOP */ |
429 | if (intensity & 0x0020) | 430 | gpio_set_value(CORGI_GPIO_BACKLIGHT_CONT, !!(intensity & 0x0020)); |
430 | set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_BACKLIGHT_CONT); | ||
431 | else | ||
432 | reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_BACKLIGHT_CONT); | ||
433 | } | 431 | } |
434 | 432 | ||
435 | static void corgi_bl_kick_battery(void) | 433 | static void corgi_bl_kick_battery(void) |
@@ -539,7 +537,8 @@ static void corgi_poweroff(void) | |||
539 | { | 537 | { |
540 | if (!machine_is_corgi()) | 538 | if (!machine_is_corgi()) |
541 | /* Green LED off tells the bootloader to halt */ | 539 | /* Green LED off tells the bootloader to halt */ |
542 | reset_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); | 540 | gpio_set_value(CORGI_GPIO_LED_GREEN, 0); |
541 | |||
543 | arm_machine_restart('h'); | 542 | arm_machine_restart('h'); |
544 | } | 543 | } |
545 | 544 | ||
@@ -547,7 +546,8 @@ static void corgi_restart(char mode) | |||
547 | { | 546 | { |
548 | if (!machine_is_corgi()) | 547 | if (!machine_is_corgi()) |
549 | /* Green LED on tells the bootloader to reboot */ | 548 | /* Green LED on tells the bootloader to reboot */ |
550 | set_scoop_gpio(&corgiscoop_device.dev, CORGI_SCP_LED_GREEN); | 549 | gpio_set_value(CORGI_GPIO_LED_GREEN, 1); |
550 | |||
551 | arm_machine_restart('h'); | 551 | arm_machine_restart('h'); |
552 | } | 552 | } |
553 | 553 | ||
diff --git a/arch/arm/mach-pxa/corgi_pm.c b/arch/arm/mach-pxa/corgi_pm.c index 35bbfccd2df3..eb7d6c94aa42 100644 --- a/arch/arm/mach-pxa/corgi_pm.c +++ b/arch/arm/mach-pxa/corgi_pm.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <asm/irq.h> | 21 | #include <asm/irq.h> |
22 | #include <asm/mach-types.h> | 22 | #include <asm/mach-types.h> |
23 | #include <mach/hardware.h> | 23 | #include <mach/hardware.h> |
24 | #include <asm/hardware/scoop.h> | ||
25 | 24 | ||
26 | #include <mach/sharpsl.h> | 25 | #include <mach/sharpsl.h> |
27 | #include <mach/corgi.h> | 26 | #include <mach/corgi.h> |
diff --git a/arch/arm/mach-pxa/include/mach/corgi.h b/arch/arm/mach-pxa/include/mach/corgi.h index 7f4de3df5afc..585970ef08ce 100644 --- a/arch/arm/mach-pxa/include/mach/corgi.h +++ b/arch/arm/mach-pxa/include/mach/corgi.h | |||
@@ -98,6 +98,16 @@ | |||
98 | CORGI_SCP_MIC_BIAS ) | 98 | CORGI_SCP_MIC_BIAS ) |
99 | #define CORGI_SCOOP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R ) | 99 | #define CORGI_SCOOP_IO_OUT ( CORGI_SCP_MUTE_L | CORGI_SCP_MUTE_R ) |
100 | 100 | ||
101 | #define CORGI_SCOOP_GPIO_BASE (NR_BUILTIN_GPIO) | ||
102 | #define CORGI_GPIO_LED_GREEN (CORGI_SCOOP_GPIO_BASE + 0) | ||
103 | #define CORGI_GPIO_SWA (CORGI_SCOOP_GPIO_BASE + 1) /* Hinge Switch A */ | ||
104 | #define CORGI_GPIO_SWB (CORGI_SCOOP_GPIO_BASE + 2) /* Hinge Switch B */ | ||
105 | #define CORGI_GPIO_MUTE_L (CORGI_SCOOP_GPIO_BASE + 3) | ||
106 | #define CORGI_GPIO_MUTE_R (CORGI_SCOOP_GPIO_BASE + 4) | ||
107 | #define CORGI_GPIO_AKIN_PULLUP (CORGI_SCOOP_GPIO_BASE + 5) | ||
108 | #define CORGI_GPIO_APM_ON (CORGI_SCOOP_GPIO_BASE + 6) | ||
109 | #define CORGI_GPIO_BACKLIGHT_CONT (CORGI_SCOOP_GPIO_BASE + 7) | ||
110 | #define CORGI_GPIO_MIC_BIAS (CORGI_SCOOP_GPIO_BASE + 8) | ||
101 | 111 | ||
102 | /* | 112 | /* |
103 | * Shared data structures | 113 | * Shared data structures |