linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
@ 2010-07-13  7:38 Marek Vasut
  2010-07-13  7:38 ` [PATCH 2/5] pxa: Introduce Palm27x Marek Vasut
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/mach-pxa/include/mach/palmld.h  |   58 ++++++++++++++--------------
 arch/arm/mach-pxa/include/mach/palmt5.h  |   30 +++++++-------
 arch/arm/mach-pxa/include/mach/palmtx.h  |   44 +++++++++++-----------
 arch/arm/mach-pxa/include/mach/palmz72.h |   28 +++++++-------
 arch/arm/mach-pxa/palmld.c               |   60 +++++++++++++++---------------
 arch/arm/mach-pxa/palmt5.c               |   52 +++++++++++++-------------
 arch/arm/mach-pxa/palmtx.c               |   52 +++++++++++++-------------
 arch/arm/mach-pxa/palmz72.c              |   60 +++++++++++++++---------------
 drivers/ata/pata_palmld.c                |   22 +++++-----
 drivers/pcmcia/pxa2xx_palmld.c           |   32 ++++++++--------
 drivers/pcmcia/pxa2xx_palmtx.c           |   42 ++++++++++----------
 11 files changed, 240 insertions(+), 240 deletions(-)
 create mode 100644 arch/arm/mach-pxa/palm27x.c
 create mode 100644 configs/config-colibri
 create mode 100644 configs/config-income
 create mode 100644 configs/config-littleton
 create mode 100644 configs/config-vpac270
 create mode 100644 configs/config-vpac270-minimal
 create mode 100644 configs/config-zaurus
 create mode 100644 configs/config-zipitz2

diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h
index ae536e8..8f9034d 100644
--- a/arch/arm/mach-pxa/include/mach/palmld.h
+++ b/arch/arm/mach-pxa/include/mach/palmld.h
@@ -16,55 +16,55 @@
 /** HERE ARE GPIOs **/
 
 /* GPIOs */
-#define GPIO_NR_PALMLD_GPIO_RESET	1
-#define GPIO_NR_PALMLD_POWER_DETECT	4
-#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N	10
-#define GPIO_NR_PALMLD_POWER_SWITCH	12
-#define GPIO_NR_PALMLD_EARPHONE_DETECT 	13
-#define GPIO_NR_PALMLD_LOCK_SWITCH	15
+#define GPIO1_PALMLD_GPIO_RESET		1
+#define GPIO4_PALMLD_POWER_DETECT	4
+#define GPIO10_PALMLD_HOTSYNC_BUTTON_N	10
+#define GPIO12_PALMLD_POWER_SWITCH	12
+#define GPIO13_PALMLD_EARPHONE_DETECT	13
+#define GPIO15_PALMLD_LOCK_SWITCH	15
 
 /* SD/MMC */
-#define GPIO_NR_PALMLD_SD_DETECT_N	14
-#define GPIO_NR_PALMLD_SD_POWER		114
-#define GPIO_NR_PALMLD_SD_READONLY	116
+#define GPIO14_PALMLD_SD_DETECT_N	14
+#define GPIO114_PALMLD_SD_POWER		114
+#define GPIO116_PALMLD_SD_READONLY	116
 
 /* TOUCHSCREEN */
-#define GPIO_NR_PALMLD_WM9712_IRQ	27
+#define GPIO27_PALMLD_WM9712_IRQ	27
 
 /* IRDA */
-#define GPIO_NR_PALMLD_IR_DISABLE	108
+#define GPIO108_PALMLD_IR_DISABLE	108
 
 /* LCD/BACKLIGHT */
-#define GPIO_NR_PALMLD_BL_POWER		19
-#define GPIO_NR_PALMLD_LCD_POWER	96
+#define GPIO19_PALMLD_BL_POWER		19
+#define GPIO96_PALMLD_LCD_POWER		96
 
 /* LCD BORDER */
-#define GPIO_NR_PALMLD_BORDER_SWITCH	21
-#define GPIO_NR_PALMLD_BORDER_SELECT	22
+#define GPIO21_PALMLD_BORDER_SWITCH	21
+#define GPIO22_PALMLD_BORDER_SELECT	22
 
 /* BLUETOOTH */
-#define GPIO_NR_PALMLD_BT_POWER		17
-#define GPIO_NR_PALMLD_BT_RESET		83
+#define GPIO17_PALMLD_BT_POWER		17
+#define GPIO83_PALMLD_BT_RESET		83
 
 /* PCMCIA (WiFi) */
-#define GPIO_NR_PALMLD_PCMCIA_READY	38
-#define GPIO_NR_PALMLD_PCMCIA_POWER	36
-#define GPIO_NR_PALMLD_PCMCIA_RESET	81
+#define GPIO38_PALMLD_PCMCIA_READY	38
+#define GPIO36_PALMLD_PCMCIA_POWER	36
+#define GPIO81_PALMLD_PCMCIA_RESET	81
 
 /* LEDs */
-#define GPIO_NR_PALMLD_LED_GREEN	52
-#define GPIO_NR_PALMLD_LED_AMBER	94
+#define GPIO52_PALMLD_LED_GREEN		52
+#define GPIO94_PALMLD_LED_AMBER		94
 
 /* IDE */
-#define GPIO_NR_PALMLD_IDE_RESET	98
-#define GPIO_NR_PALMLD_IDE_PWEN		115
+#define GPIO98_PALMLD_IDE_RESET		98
+#define GPIO115_PALMLD_IDE_PWEN		115
 
 /* USB */
-#define GPIO_NR_PALMLD_USB_DETECT_N	3
-#define GPIO_NR_PALMLD_USB_READY	86
-#define GPIO_NR_PALMLD_USB_RESET	88
-#define GPIO_NR_PALMLD_USB_INT		106
-#define GPIO_NR_PALMLD_USB_POWER	118
+#define GPIO3_PALMLD_USB_DETECT_N	3
+#define GPIO86_PALMLD_USB_READY		86
+#define GPIO88_PALMLD_USB_RESET		88
+#define GPIO106_PALMLD_USB_INT		106
+#define GPIO118_PALMLD_USB_POWER	118
 /* 20, 53 and 86 are usb related too */
 
 /* INTERRUPTS */
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h
index 6baf746..d70bb62 100644
--- a/arch/arm/mach-pxa/include/mach/palmt5.h
+++ b/arch/arm/mach-pxa/include/mach/palmt5.h
@@ -18,34 +18,34 @@
 /** HERE ARE GPIOs **/
 
 /* GPIOs */
-#define GPIO_NR_PALMT5_GPIO_RESET		1
+#define GPIO1_PALMT5_GPIO_RESET			1
 
-#define GPIO_NR_PALMT5_POWER_DETECT		90
-#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N		10
-#define GPIO_NR_PALMT5_EARPHONE_DETECT		107
+#define GPIO90_PALMT5_POWER_DETECT		90
+#define GPIO10_PALMT5_HOTSYNC_BUTTON_N		10
+#define GPIO107_PALMT5_EARPHONE_DETECT		107
 
 /* SD/MMC */
-#define GPIO_NR_PALMT5_SD_DETECT_N		14
-#define GPIO_NR_PALMT5_SD_POWER			114
-#define GPIO_NR_PALMT5_SD_READONLY		115
+#define GPIO14_PALMT5_SD_DETECT_N		14
+#define GPIO114_PALMT5_SD_POWER			114
+#define GPIO115_PALMT5_SD_READONLY		115
 
 /* TOUCHSCREEN */
-#define GPIO_NR_PALMT5_WM9712_IRQ		27
+#define GPIO27_PALMT5_WM9712_IRQ		27
 
 /* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMT5_IR_DISABLE		40
+#define GPIO40_PALMT5_IR_DISABLE		40
 
 /* USB */
-#define GPIO_NR_PALMT5_USB_DETECT_N		15
-#define GPIO_NR_PALMT5_USB_PULLUP		93
+#define GPIO15_PALMT5_USB_DETECT_N		15
+#define GPIO93_PALMT5_USB_PULLUP		93
 
 /* LCD/BACKLIGHT */
-#define GPIO_NR_PALMT5_BL_POWER			84
-#define GPIO_NR_PALMT5_LCD_POWER		96
+#define GPIO84_PALMT5_BL_POWER			84
+#define GPIO96_PALMT5_LCD_POWER			96
 
 /* BLUETOOTH */
-#define GPIO_NR_PALMT5_BT_POWER			17
-#define GPIO_NR_PALMT5_BT_RESET			83
+#define GPIO17_PALMT5_BT_POWER			17
+#define GPIO83_PALMT5_BT_RESET			83
 
 /* INTERRUPTS */
 #define IRQ_GPIO_PALMT5_SD_DETECT_N	IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
index 10abc4f..8b97b4d 100644
--- a/arch/arm/mach-pxa/include/mach/palmtx.h
+++ b/arch/arm/mach-pxa/include/mach/palmtx.h
@@ -19,47 +19,47 @@
 /** HERE ARE GPIOs **/
 
 /* GPIOs */
-#define GPIO_NR_PALMTX_GPIO_RESET		1
+#define GPIO1_PALMTX_GPIO_RESET			1
 
-#define GPIO_NR_PALMTX_POWER_DETECT		12 /* 90 */
-#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N		10
-#define GPIO_NR_PALMTX_EARPHONE_DETECT		107
+#define GPIO12_PALMTX_POWER_DETECT		12 /* 90 */
+#define GPIO10_PALMTX_HOTSYNC_BUTTON_N		10
+#define GPIO107_PALMTX_EARPHONE_DETECT		107
 
 /* SD/MMC */
-#define GPIO_NR_PALMTX_SD_DETECT_N		14
-#define GPIO_NR_PALMTX_SD_POWER			114 /* probably */
-#define GPIO_NR_PALMTX_SD_READONLY		115 /* probably */
+#define GPIO14_PALMTX_SD_DETECT_N		14
+#define GPIO114_PALMTX_SD_POWER			114 /* probably */
+#define GPIO115_PALMTX_SD_READONLY		115 /* probably */
 
 /* TOUCHSCREEN */
-#define GPIO_NR_PALMTX_WM9712_IRQ		27
+#define GPIO27_PALMTX_WM9712_IRQ		27
 
 /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMTX_IR_DISABLE		40
+#define GPIO40_PALMTX_IR_DISABLE		40
 
 /* USB */
-#define GPIO_NR_PALMTX_USB_DETECT_N		13
-#define GPIO_NR_PALMTX_USB_PULLUP		93
+#define GPIO13_PALMTX_USB_DETECT_N		13
+#define GPIO93_PALMTX_USB_PULLUP		93
 
 /* LCD/BACKLIGHT */
-#define GPIO_NR_PALMTX_BL_POWER			84
-#define GPIO_NR_PALMTX_LCD_POWER		96
+#define GPIO84_PALMTX_BL_POWER			84
+#define GPIO96_PALMTX_LCD_POWER			96
 
 /* LCD BORDER */
-#define GPIO_NR_PALMTX_BORDER_SWITCH		98
-#define GPIO_NR_PALMTX_BORDER_SELECT		22
+#define GPIO98_PALMTX_BORDER_SWITCH		98
+#define GPIO22_PALMTX_BORDER_SELECT		22
 
 /* BLUETOOTH */
-#define GPIO_NR_PALMTX_BT_POWER			17
-#define GPIO_NR_PALMTX_BT_RESET			83
+#define GPIO17_PALMTX_BT_POWER			17
+#define GPIO83_PALMTX_BT_RESET			83
 
 /* PCMCIA (WiFi) */
-#define GPIO_NR_PALMTX_PCMCIA_POWER1		94
-#define GPIO_NR_PALMTX_PCMCIA_POWER2		108
-#define GPIO_NR_PALMTX_PCMCIA_RESET		79
-#define GPIO_NR_PALMTX_PCMCIA_READY		116
+#define GPIO94_PALMTX_PCMCIA_POWER1		94
+#define GPIO108_PALMTX_PCMCIA_POWER2		108
+#define GPIO79_PALMTX_PCMCIA_RESET		79
+#define GPIO116_PALMTX_PCMCIA_READY		116
 
 /* NAND Flash ... this GPIO may be incorrect! */
-#define GPIO_NR_PALMTX_NAND_BUFFER_DIR		79
+#define GPIO79_PALMTX_NAND_BUFFER_DIR		79
 
 /* INTERRUPTS */
 #define IRQ_GPIO_PALMTX_SD_DETECT_N	IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmz72.h b/arch/arm/mach-pxa/include/mach/palmz72.h
index 2bbcf70..83dced5 100644
--- a/arch/arm/mach-pxa/include/mach/palmz72.h
+++ b/arch/arm/mach-pxa/include/mach/palmz72.h
@@ -15,34 +15,34 @@
 #define _INCLUDE_PALMZ72_H_
 
 /* Power and control */
-#define GPIO_NR_PALMZ72_GPIO_RESET		1
-#define GPIO_NR_PALMZ72_POWER_DETECT		0
+#define GPIO1_PALMZ72_GPIO_RESET		1
+#define GPIO0_PALMZ72_POWER_DETECT		0
 
 /* SD/MMC */
-#define GPIO_NR_PALMZ72_SD_DETECT_N		14
-#define GPIO_NR_PALMZ72_SD_POWER_N		98
-#define GPIO_NR_PALMZ72_SD_RO			115
+#define GPIO14_PALMZ72_SD_DETECT_N		14
+#define GPIO98_PALMZ72_SD_POWER_N		98
+#define GPIO115_PALMZ72_SD_RO			115
 
 /* Touchscreen */
-#define GPIO_NR_PALMZ72_WM9712_IRQ		27
+#define GPIO27_PALMZ72_WM9712_IRQ		27
 
 /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMZ72_IR_DISABLE		49
+#define GPIO49_PALMZ72_IR_DISABLE		49
 
 /* USB */
-#define GPIO_NR_PALMZ72_USB_DETECT_N		15
-#define GPIO_NR_PALMZ72_USB_PULLUP		95
+#define GPIO15_PALMZ72_USB_DETECT_N		15
+#define GPIO95_PALMZ72_USB_PULLUP		95
 
 /* LCD/Backlight */
-#define GPIO_NR_PALMZ72_BL_POWER		20
-#define GPIO_NR_PALMZ72_LCD_POWER		96
+#define GPIO20_PALMZ72_BL_POWER			20
+#define GPIO96_PALMZ72_LCD_POWER		96
 
 /* LED */
-#define GPIO_NR_PALMZ72_LED_GREEN		88
+#define GPIO88_PALMZ72_LED_GREEN		88
 
 /* Bluetooth */
-#define GPIO_NR_PALMZ72_BT_POWER		17
-#define GPIO_NR_PALMZ72_BT_RESET		83
+#define GPIO17_PALMZ72_BT_POWER			17
+#define GPIO83_PALMZ72_BT_RESET			83
 
 /** Initial values **/
 
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
new file mode 100644
index 0000000..e69de29
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 83a1a55..bec35e2 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
  ******************************************************************************/
 static struct pxamci_platform_data palmld_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMLD_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMLD_SD_READONLY,
-	.gpio_power		= GPIO_NR_PALMLD_SD_POWER,
+	.gpio_card_detect	= GPIO14_PALMLD_SD_DETECT_N,
+	.gpio_card_ro		= GPIO116_PALMLD_SD_READONLY,
+	.gpio_power		= GPIO114_PALMLD_SD_POWER,
 	.detect_delay_ms	= 200,
 };
 
@@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
  * GPIO keys
  ******************************************************************************/
 static struct gpio_keys_button palmld_pxa_buttons[] = {
-	{KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
-	{KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
-	{KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
+	{KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+	{KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
+	{KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
 };
 
 static struct gpio_keys_platform_data palmld_pxa_keys_data = {
@@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+	gpio_free(GPIO96_PALMLD_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMLD_BL_POWER);
+	gpio_free(GPIO19_PALMLD_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmld_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
+	gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmld_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMLD_BL_POWER);
-	gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+	gpio_free(GPIO19_PALMLD_BL_POWER);
+	gpio_free(GPIO96_PALMLD_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmld_backlight_data = {
@@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmld_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMLD_IR_DISABLE,
+	.gpio_pwdown		= GPIO108_PALMLD_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
 {
 	.name			= "palmld:green:led",
 	.default_trigger	= "none",
-	.gpio			= GPIO_NR_PALMLD_LED_GREEN,
+	.gpio			= GPIO52_PALMLD_LED_GREEN,
 }, {
 	.name			= "palmld:amber:led",
 	.default_trigger	= "none",
-	.gpio			= GPIO_NR_PALMLD_LED_AMBER,
+	.gpio			= GPIO94_PALMLD_LED_AMBER,
 },
 };
 
@@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
+	ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
+	ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
+	ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
 	if (ret)
 		goto err3;
 
 	return 0;
 
 err3:
-	gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
+	gpio_free(GPIO3_PALMLD_USB_DETECT_N);
 err2:
-	gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+	gpio_free(GPIO4_PALMLD_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmld_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
+	return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
 }
 
 static int palmld_is_usb_online(void)
 {
-	return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
+	return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
-	gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+	gpio_free(GPIO3_PALMLD_USB_DETECT_N);
+	gpio_free(GPIO4_PALMLD_POWER_DETECT);
 }
 
 static char *palmld_supplicants[] = {
@@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
 };
 
 static struct palm27x_asoc_info palmld_asoc_pdata = {
-	.jack_gpio	= GPIO_NR_PALMLD_EARPHONE_DETECT,
+	.jack_gpio	= GPIO13_PALMLD_EARPHONE_DETECT,
 };
 
 static struct platform_device palmld_asoc = {
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 0b36d7d..8037cfc 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata = {
  ******************************************************************************/
 static struct pxamci_platform_data palmt5_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMT5_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMT5_SD_READONLY,
-	.gpio_power		= GPIO_NR_PALMT5_SD_POWER,
+	.gpio_card_detect	= GPIO14_PALMT5_SD_DETECT_N,
+	.gpio_card_ro		= GPIO115_PALMT5_SD_READONLY,
+	.gpio_power		= GPIO114_PALMT5_SD_POWER,
 	.detect_delay_ms	= 200,
 };
 
@@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
  * GPIO keys
  ******************************************************************************/
 static struct gpio_keys_button palmt5_pxa_buttons[] = {
-	{KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+	{KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 };
 
 static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
@@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+	gpio_free(GPIO96_PALMT5_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMT5_BL_POWER);
+	gpio_free(GPIO84_PALMT5_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmt5_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
+	gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmt5_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMT5_BL_POWER);
-	gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+	gpio_free(GPIO84_PALMT5_BL_POWER);
+	gpio_free(GPIO96_PALMT5_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmt5_backlight_data = {
@@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmt5_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMT5_IR_DISABLE,
+	.gpio_pwdown		= GPIO40_PALMT5_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -233,9 +233,9 @@ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
  * UDC
  ******************************************************************************/
 static struct gpio_vbus_mach_info palmt5_udc_info = {
-	.gpio_vbus		= GPIO_NR_PALMT5_USB_DETECT_N,
+	.gpio_vbus		= GPIO15_PALMT5_USB_DETECT_N,
 	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO_NR_PALMT5_USB_PULLUP,
+	.gpio_pullup		= GPIO93_PALMT5_USB_PULLUP,
 };
 
 static struct platform_device palmt5_gpio_vbus = {
@@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
+	ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
 	if (ret)
 		goto err2;
 
 	return 0;
 err2:
-	gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+	gpio_free(GPIO90_PALMT5_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmt5_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
+	return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+	gpio_free(GPIO90_PALMT5_POWER_DETECT);
 }
 
 static char *palmt5_supplicants[] = {
@@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
 };
 
 static struct palm27x_asoc_info palmt5_asoc_pdata = {
-	.jack_gpio	= GPIO_NR_PALMT5_EARPHONE_DETECT,
+	.jack_gpio	= GPIO107_PALMT5_EARPHONE_DETECT,
 };
 
 static struct platform_device palmt5_asoc = {
@@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata = {
 /* setup udc GPIOs initial state */
 static void __init palmt5_udc_init(void)
 {
-	if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
-		gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
+	if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
+		gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
+		gpio_free(GPIO93_PALMT5_USB_PULLUP);
 	}
 }
 
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index a5429cd..a835034 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
  ******************************************************************************/
 static struct pxamci_platform_data palmtx_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMTX_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMTX_SD_READONLY,
-	.gpio_power		= GPIO_NR_PALMTX_SD_POWER,
+	.gpio_card_detect	= GPIO14_PALMTX_SD_DETECT_N,
+	.gpio_card_ro		= GPIO115_PALMTX_SD_READONLY,
+	.gpio_power		= GPIO114_PALMTX_SD_POWER,
 	.detect_delay_ms	= 200,
 };
 
@@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
  * GPIO keys
  ******************************************************************************/
 static struct gpio_keys_button palmtx_pxa_buttons[] = {
-	{KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+	{KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 };
 
 static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
@@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+	gpio_free(GPIO96_PALMTX_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMTX_BL_POWER);
+	gpio_free(GPIO84_PALMTX_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmtx_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
+	gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmtx_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMTX_BL_POWER);
-	gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+	gpio_free(GPIO84_PALMTX_BL_POWER);
+	gpio_free(GPIO96_PALMTX_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmtx_backlight_data = {
@@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmtx_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMTX_IR_DISABLE,
+	.gpio_pwdown		= GPIO40_PALMTX_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -293,9 +293,9 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
  * UDC
  ******************************************************************************/
 static struct gpio_vbus_mach_info palmtx_udc_info = {
-	.gpio_vbus		= GPIO_NR_PALMTX_USB_DETECT_N,
+	.gpio_vbus		= GPIO13_PALMTX_USB_DETECT_N,
 	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO_NR_PALMTX_USB_PULLUP,
+	.gpio_pullup		= GPIO93_PALMTX_USB_PULLUP,
 };
 
 static struct platform_device palmtx_gpio_vbus = {
@@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
+	ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
 	if (ret)
 		goto err2;
 
 	return 0;
 
 err2:
-	gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+	gpio_free(GPIO12_PALMTX_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmtx_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
+	return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+	gpio_free(GPIO12_PALMTX_POWER_DETECT);
 }
 
 static char *palmtx_supplicants[] = {
@@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
 };
 
 static struct palm27x_asoc_info palmtx_asoc_pdata = {
-	.jack_gpio	= GPIO_NR_PALMTX_EARPHONE_DETECT,
+	.jack_gpio	= GPIO107_PALMTX_EARPHONE_DETECT,
 };
 
 static struct platform_device palmtx_asoc = {
@@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
 /* setup udc GPIOs initial state */
 static void __init palmtx_udc_init(void)
 {
-	if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
-		gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
+	if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
+		gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
+		gpio_free(GPIO93_PALMTX_USB_PULLUP);
 	}
 }
 
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index b78c6b4..91bc5a3 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata = {
  * select, i.e. it is inverted */
 static struct pxamci_platform_data palmz72_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMZ72_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMZ72_SD_RO,
-	.gpio_power		= GPIO_NR_PALMZ72_SD_POWER_N,
+	.gpio_card_detect	= GPIO14_PALMZ72_SD_DETECT_N,
+	.gpio_card_ro		= GPIO115_PALMZ72_SD_RO,
+	.gpio_power		= GPIO98_PALMZ72_SD_POWER_N,
 	.gpio_power_invert	= 1,
 };
 
@@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+	gpio_free(GPIO96_PALMZ72_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMZ72_BL_POWER);
+	gpio_free(GPIO20_PALMZ72_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmz72_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
+	gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmz72_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMZ72_BL_POWER);
-	gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+	gpio_free(GPIO20_PALMZ72_BL_POWER);
+	gpio_free(GPIO96_PALMZ72_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmz72_backlight_data = {
@@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmz72_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMZ72_IR_DISABLE,
+	.gpio_pwdown		= GPIO49_PALMZ72_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
 	{
 		.name			= "palmz72:green:led",
 		.default_trigger	= "none",
-		.gpio			= GPIO_NR_PALMZ72_LED_GREEN,
+		.gpio			= GPIO88_PALMZ72_LED_GREEN,
 	},
 };
 
@@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
  * UDC
  ******************************************************************************/
 static struct gpio_vbus_mach_info palmz72_udc_info = {
-	.gpio_vbus		= GPIO_NR_PALMZ72_USB_DETECT_N,
-	.gpio_pullup		= GPIO_NR_PALMZ72_USB_PULLUP,
+	.gpio_vbus		= GPIO15_PALMZ72_USB_DETECT_N,
+	.gpio_pullup		= GPIO95_PALMZ72_USB_PULLUP,
 };
 
 static struct platform_device palmz72_gpio_vbus = {
@@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
+	ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
+	ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
+	ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
+	gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
 err2:
-	gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+	gpio_free(GPIO0_PALMZ72_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmz72_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
+	return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
 }
 
 static int palmz72_is_usb_online(void)
 {
-	return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
+	return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
-	gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+	gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
+	gpio_free(GPIO0_PALMZ72_POWER_DETECT);
 }
 
 static char *palmz72_supplicants[] = {
@@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata = {
 /* setup udc GPIOs initial state */
 static void __init palmz72_udc_init(void)
 {
-	if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
-		gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
-		gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
+	if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
+		gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
+		gpio_free(GPIO95_PALMZ72_USB_PULLUP);
 	}
 }
 
diff --git a/configs/config-colibri b/configs/config-colibri
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-income b/configs/config-income
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-littleton b/configs/config-littleton
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270 b/configs/config-vpac270
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270-minimal b/configs/config-vpac270-minimal
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zaurus b/configs/config-zaurus
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
new file mode 100644
index 0000000..e69de29
diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
index 11fb4cc..7ca74d6 100644
--- a/drivers/ata/pata_palmld.c
+++ b/drivers/ata/pata_palmld.c
@@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	/* request and activate power GPIO, IRQ GPIO */
-	ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
+	ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
+	ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
+	ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
+	ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
 	if (ret)
 		goto err3;
 
 	/* reset the drive */
-	gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
+	gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
 	msleep(30);
-	gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
+	gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
 	msleep(30);
 
 	/* setup the ata port */
@@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
 					&palmld_sht);
 
 err3:
-	gpio_free(GPIO_NR_PALMLD_IDE_RESET);
+	gpio_free(GPIO98_PALMLD_IDE_RESET);
 err2:
-	gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+	gpio_free(GPIO115_PALMLD_IDE_PWEN);
 err1:
 	return ret;
 }
@@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct platform_device *dev)
 	ata_host_detach(host);
 
 	/* power down the HDD */
-	gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
+	gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
 
-	gpio_free(GPIO_NR_PALMLD_IDE_RESET);
-	gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+	gpio_free(GPIO98_PALMLD_IDE_RESET);
+	gpio_free(GPIO115_PALMLD_IDE_PWEN);
 
 	return 0;
 }
diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c
index 6fb6f7f..4317657 100644
--- a/drivers/pcmcia/pxa2xx_palmld.c
+++ b/drivers/pcmcia/pxa2xx_palmld.c
@@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
+	ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
+	ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
+	ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
+	ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
 	if (ret)
 		goto err3;
 
-	ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
+	ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
 	if (ret)
 		goto err3;
-	ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
+	ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
 	if (ret)
 		goto err4;
 
-	skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
+	skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
 	return 0;
 
 err4:
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
+	gpio_free(GPIO38_PALMLD_PCMCIA_READY);
 err3:
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
+	gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
 err2:
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+	gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
 err1:
 	return ret;
 }
 
 static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
 {
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+	gpio_free(GPIO38_PALMLD_PCMCIA_READY);
+	gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
+	gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
 }
 
 static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
 					struct pcmcia_state *state)
 {
 	state->detect = 1; /* always inserted */
-	state->ready  = !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
+	state->ready  = !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
 	state->bvd1   = 1;
 	state->bvd2   = 1;
 	state->wrprot = 0;
@@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
 static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
 					const socket_state_t *state)
 {
-	gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
-	gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
+	gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
+	gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
 			!!(state->flags & SS_RESET));
 
 	return 0;
diff --git a/drivers/pcmcia/pxa2xx_palmtx.c b/drivers/pcmcia/pxa2xx_palmtx.c
index b07b247..cc80531 100644
--- a/drivers/pcmcia/pxa2xx_palmtx.c
+++ b/drivers/pcmcia/pxa2xx_palmtx.c
@@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
+	ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
+	ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
+	ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
+	ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
 	if (ret)
 		goto err3;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
+	ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
 	if (ret)
 		goto err3;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
+	ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
 	if (ret)
 		goto err4;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
+	ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
 	if (ret)
 		goto err4;
-	ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
+	ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
 	if (ret)
 		goto err5;
 
-	skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
+	skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
 	return 0;
 
 err5:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
+	gpio_free(GPIO116_PALMTX_PCMCIA_READY);
 err4:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
+	gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
 err3:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
+	gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
 err2:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+	gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
 err1:
 	return ret;
 }
 
 static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
 {
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+	gpio_free(GPIO116_PALMTX_PCMCIA_READY);
+	gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
+	gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
+	gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
 }
 
 static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
 					struct pcmcia_state *state)
 {
 	state->detect = 1; /* always inserted */
-	state->ready  = !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
+	state->ready  = !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
 	state->bvd1   = 1;
 	state->bvd2   = 1;
 	state->wrprot = 0;
@@ -92,9 +92,9 @@ static int
 palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
 				const socket_state_t *state)
 {
-	gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
-	gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
-	gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
+	gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
+	gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
+	gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
 			!!(state->flags & SS_RESET));
 
 	return 0;
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/5] pxa: Introduce Palm27x
  2010-07-13  7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
@ 2010-07-13  7:38 ` Marek Vasut
  2010-07-13  8:14   ` Eric Miao
  2010-07-13  7:38 ` [PATCH 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x Marek Vasut
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

This contains common code for Palm LD, TX, T5, Z72

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/mach-pxa/Kconfig                |    3 +
 arch/arm/mach-pxa/Makefile               |    1 +
 arch/arm/mach-pxa/include/mach/palm27x.h |   48 +++
 arch/arm/mach-pxa/palm27x.c              |  473 ++++++++++++++++++++++++++++++
 4 files changed, 525 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-pxa/include/mach/palm27x.h

diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 2ff0b32..f3eaade 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -347,6 +347,9 @@ config ARCH_PXA_PALM
 	bool "PXA based Palm PDAs"
 	select HAVE_PWM
 
+config MACH_PALM27X
+	bool
+
 config MACH_PALMTE2
 	bool "Palm Tungsten|E2"
 	default y
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index 3f72218..20c80e8 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -75,6 +75,7 @@ obj-$(CONFIG_PXA_EZX)           += ezx.o
 obj-$(CONFIG_MACH_MP900C)	+= mp900.o
 obj-$(CONFIG_MACH_PALMTE2)	+= palmte2.o
 obj-$(CONFIG_MACH_PALMTC)	+= palmtc.o
+obj-$(CONFIG_MACH_PALM27X)	+= palm27x.o
 obj-$(CONFIG_MACH_PALMT5)	+= palmt5.o
 obj-$(CONFIG_MACH_PALMTX)	+= palmtx.o
 obj-$(CONFIG_MACH_PALMZ72)	+= palmz72.o
diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h b/arch/arm/mach-pxa/include/mach/palm27x.h
new file mode 100644
index 0000000..94ae6d9
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/palm27x.h
@@ -0,0 +1,48 @@
+/*
+ * Common functions for Palm LD, T5, TX, Z72
+ *
+ * Copyright (C) 2010
+ * Marek Vasut <marek.vasut@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+struct palm27x_handheld {
+	/* SD/MMC */
+	int		mmc_detect;
+	int		mmc_ro;
+	int		mmc_power;
+
+	/* PM */
+	unsigned long	pm_str_base;
+
+	/* UDC */
+	int		udc_detect;
+	int		udc_pullup;
+
+	/* IrDA */
+	int		irda_pwdn;
+
+	/* Battery */
+	int		batt_minv;
+	int		batt_maxv;
+
+	/* Audio */
+	int		jack_gpio;
+
+	/* Backlight */
+	int		bl_bl;
+	int		bl_lcd;
+
+	/* Power supply */
+	int		power_ac;
+	int		power_usb;
+
+	/* LCD */
+	int		lcd_power;
+};
+
+extern void __init palm27x_common_init(struct palm27x_handheld *);
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
index e69de29..6d7b978 100644
--- a/arch/arm/mach-pxa/palm27x.c
+++ b/arch/arm/mach-pxa/palm27x.c
@@ -0,0 +1,473 @@
+/*
+ * Common code for Palm LD, T5, TX, Z72
+ *
+ * Copyright (C) 2010
+ * Marek Vasut <marek.vasut@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/platform_device.h>
+#include <linux/delay.h>
+#include <linux/irq.h>
+#include <linux/gpio_keys.h>
+#include <linux/input.h>
+#include <linux/pda_power.h>
+#include <linux/pwm_backlight.h>
+#include <linux/gpio.h>
+#include <linux/wm97xx.h>
+#include <linux/power_supply.h>
+#include <linux/usb/gpio_vbus.h>
+
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+
+#include <mach/pxa27x.h>
+#include <mach/audio.h>
+#include <mach/mmc.h>
+#include <mach/pxafb.h>
+#include <mach/irda.h>
+#include <mach/udc.h>
+#include <mach/palmasoc.h>
+#include <mach/palm27x.h>
+
+#include "generic.h"
+#include "devices.h"
+
+/******************************************************************************
+ * SD/MMC card controller
+ ******************************************************************************/
+#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
+static struct pxamci_platform_data palm27x_mci_platform_data = {
+	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
+	.detect_delay_ms	= 200,
+};
+
+static void __init palm27x_mmc_init(int detect, int ro, int power)
+{
+	palm27x_mci_platform_data.gpio_card_detect	= detect;
+	palm27x_mci_platform_data.gpio_card_ro		= ro;
+	palm27x_mci_platform_data.gpio_power		= power;
+
+	if (machine_is_palmz72() || machine_is_centro())
+		palm27x_mci_platform_data.gpio_power_invert = 1;
+
+	pxa_set_mci_info(&palm27x_mci_platform_data);
+}
+#else
+static inline void palm27x_mmc_init(int detect, int ro, int power) {}
+#endif
+
+/******************************************************************************
+ * Power management - standby
+ ******************************************************************************/
+#if defined(CONFIG_SUSPEND)
+static void __init palm27x_pm_init(unsigned long str_base)
+{
+	static const unsigned long resume[] = {
+		0xe3a00101,	/* mov	r0,	#0x40000000 */
+		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
+		0xe590f008,	/* ldr	pc, [r0, #0x08] */
+	};
+
+	/*
+	 * Copy the bootloader.
+	 * NOTE: PalmZ72 uses a different wakeup method!
+	 */
+	if (!machine_is_palmz72())
+		memcpy(phys_to_virt(str_base), resume, sizeof(resume));
+}
+#else
+static inline void palm27x_pm_init(unsigned long str_base) {}
+#endif
+
+/******************************************************************************
+ * Framebuffer
+ ******************************************************************************/
+/*
+ * NOTE: PalmZ72 has so called HiRes screen -- 320x320
+ *       The rest of devices has HiRes+ screen -- 320x480
+ */
+#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
+static struct pxafb_mode_info palm27x_modes[] = {
+	{
+		.pixclock	= 57692,
+		.xres		= 320,
+		.yres		= 480,
+		.bpp		= 16,
+
+		.left_margin	= 32,
+		.right_margin	= 1,
+		.upper_margin	= 7,
+		.lower_margin	= 1,
+
+		.hsync_len	= 4,
+		.vsync_len	= 1,
+	}, {
+		.pixclock	= 115384,
+		.xres		= 320,
+		.yres		= 320,
+		.bpp		= 16,
+
+		.left_margin	= 27,
+		.right_margin	= 7,
+		.upper_margin	= 7,
+		.lower_margin	= 8,
+
+		.hsync_len	= 6,
+		.vsync_len	= 1,
+	}, {
+		.pixclock	= 86538,
+		.xres		= 320,
+		.yres		= 320,
+		.bpp		= 16,
+
+		.left_margin	= 20,
+		.right_margin	= 8,
+		.upper_margin	= 8,
+		.lower_margin	= 5,
+
+		.hsync_len	= 4,
+		.vsync_len	= 1,
+	}
+};
+
+static struct pxafb_mach_info palm27x_lcd_screen = {
+	.num_modes	= 1,
+	.lcd_conn	= LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
+};
+
+static int palm27x_lcd_power;
+static void palm27x_lcd_ctl(int on, struct fb_var_screeninfo *info)
+{
+	gpio_set_value(palm27x_lcd_power, on);
+}
+
+static void __init palm27x_lcd_init(int power)
+{
+	if (machine_is_palmz72())
+		palm27x_lcd_screen.modes = &palm27x_modes[0];
+	else
+		palm27x_lcd_screen.modes = &palm27x_modes[1];
+
+	if (gpio_is_valid(power)) {
+		if (!gpio_request(power, "LCD power")) {
+			pr_err("Palm27x: failed to claim lcd power gpio!\n");
+			return;
+		}
+		if (!gpio_direction_output(power, 1)) {
+			pr_err("Palm27x: lcd power configuration failed!\n");
+			return;
+		}
+		palm27x_lcd_power = power;
+		palm27x_lcd_screen.pxafb_lcd_power = palm27x_lcd_ctl;
+	}
+
+	set_pxa_fb_info(&palm27x_lcd_screen);
+}
+
+#else
+static inline void palm27x_lcd_init(int power) {}
+#endif
+
+/******************************************************************************
+ * USB Gadget
+ ******************************************************************************/
+#if	defined(CONFIG_USB_GADGET_PXA27X) || \
+	defined(CONFIG_USB_GADGET_PXA27X_MODULE)
+static struct gpio_vbus_mach_info palm27x_udc_info = {
+	.gpio_vbus_inverted	= 1,
+};
+
+static struct platform_device palm27x_gpio_vbus = {
+	.name	= "gpio-vbus",
+	.id	= -1,
+	.dev	= {
+		.platform_data	= &palm27x_udc_info,
+	},
+};
+
+static void __init palm27x_udc_init(int vbus, int pullup)
+{
+	if (machine_is_palmld())
+		return;
+
+	palm27x_udc_info.gpio_vbus	= vbus;
+	palm27x_udc_info.gpio_pullup	= pullup;
+
+	if (machine_is_palmz72())
+		palm27x_udc_info.gpio_vbus_inverted = 0;
+
+	if (!gpio_request(pullup, "USB Pullup")) {
+		gpio_direction_output(pullup,
+			palm27x_udc_info.gpio_vbus_inverted);
+		gpio_free(pullup);
+	} else
+		return;
+
+	platform_device_register(&palm27x_gpio_vbus);
+}
+#else
+static inline void palm27x_udc_init(int vbus, int pullup) {}
+#endif
+
+/******************************************************************************
+ * IrDA
+ ******************************************************************************/
+#if defined(CONFIG_IRDA) || defined(CONFIG_IRDA_MODULE)
+static struct pxaficp_platform_data palm27x_ficp_platform_data = {
+	.transceiver_cap	= IR_SIRMODE | IR_OFF,
+};
+
+static void __init palm27x_irda_init(int pwdn)
+{
+	palm27x_ficp_platform_data.gpio_pwdown = pwdn;
+	pxa_set_ficp_info(&palm27x_ficp_platform_data);
+}
+#else
+static inline void palm27x_irda_init(int pwdn) {}
+#endif
+
+/******************************************************************************
+ * WM97xx audio, battery
+ ******************************************************************************/
+#if	defined(CONFIG_TOUCHSCREEN_WM97XX) || \
+	defined(CONFIG_TOUCHSCREEN_WM97XX_MODULE)
+static struct wm97xx_batt_pdata palm27x_batt_pdata = {
+	.batt_aux	= WM97XX_AUX_ID3,
+	.temp_aux	= WM97XX_AUX_ID2,
+	.charge_gpio	= -1,
+	.batt_mult	= 1000,
+	.batt_div	= 414,
+	.temp_mult	= 1,
+	.temp_div	= 1,
+	.batt_tech	= POWER_SUPPLY_TECHNOLOGY_LIPO,
+	.batt_name	= "main-batt",
+};
+
+static struct wm97xx_pdata palm27x_wm97xx_pdata = {
+	.batt_pdata	= &palm27x_batt_pdata,
+};
+
+static pxa2xx_audio_ops_t palm27x_ac97_pdata = {
+	.codec_pdata	= { &palm27x_wm97xx_pdata, },
+};
+
+static struct palm27x_asoc_info palm27x_asoc_pdata = {
+	.jack_gpio	= -1,
+};
+
+static struct platform_device palm27x_asoc = {
+	.name = "palm27x-asoc",
+	.id   = -1,
+	.dev  = {
+		.platform_data = &palm27x_asoc_pdata,
+	},
+};
+
+static void __init palm27x_ac97_init(int minv, int maxv, int jack)
+{
+	if (!machine_is_palmz72())
+		palm27x_ac97_pdata.reset_gpio = 95;
+	else
+		palm27x_asoc_pdata.jack_gpio = jack;
+
+	if (machine_is_treo680() || machine_is_centro()) {
+		palm27x_ac97_pdata.codec_pdata[0] = NULL;
+		pxa_set_ac97_info(&palm27x_ac97_pdata);
+	} else {
+		palm27x_batt_pdata.min_voltage	= minv,
+		palm27x_batt_pdata.max_voltage	= maxv,
+
+		pxa_set_ac97_info(&palm27x_ac97_pdata);
+		platform_device_register(&palm27x_asoc);
+	}
+}
+#else
+static inline void palm27x_ac97_init(int minv, int maxv, int jack) {}
+#endif
+
+/******************************************************************************
+ * Backlight
+ ******************************************************************************/
+#if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE)
+struct {
+	int	bl_power;
+	int	lcd_power;
+} palm27x_bl_info;
+
+static int palm27x_backlight_init(struct device *dev)
+{
+	int ret;
+
+	ret = gpio_request(palm27x_bl_info.bl_power, "BL POWER");
+	if (ret)
+		goto err;
+	ret = gpio_direction_output(palm27x_bl_info.bl_power, 0);
+	if (ret)
+		goto err2;
+
+	if (gpio_is_valid(palm27x_bl_info.lcd_power)) {
+		ret = gpio_request(palm27x_bl_info.lcd_power, "LCD POWER");
+		if (ret)
+			goto err2;
+		ret = gpio_direction_output(palm27x_bl_info.lcd_power, 0);
+		if (ret)
+			goto err3;
+	}
+
+	return 0;
+err3:
+	gpio_free(palm27x_bl_info.lcd_power);
+err2:
+	gpio_free(palm27x_bl_info.bl_power);
+err:
+	return ret;
+}
+
+static int palm27x_backlight_notify(struct device *dev, int brightness)
+{
+	gpio_set_value(palm27x_bl_info.bl_power, brightness);
+	if (gpio_is_valid(palm27x_bl_info.lcd_power))
+		gpio_set_value(palm27x_bl_info.lcd_power, brightness);
+	return brightness;
+}
+
+static void palm27x_backlight_exit(struct device *dev)
+{
+	gpio_free(palm27x_bl_info.bl_power);
+	if (gpio_is_valid(palm27x_bl_info.lcd_power))
+		gpio_free(palm27x_bl_info.lcd_power);
+}
+
+static struct platform_pwm_backlight_data palm27x_backlight_data = {
+	.pwm_id		= 0,
+	.max_brightness	= 0xfe,
+	.dft_brightness	= 0x7e,
+	.pwm_period_ns	= 3500,
+	.init		= palm27x_backlight_init,
+	.notify		= palm27x_backlight_notify,
+	.exit		= palm27x_backlight_exit,
+};
+
+static struct platform_device palm27x_backlight = {
+	.name	= "pwm-backlight",
+	.dev	= {
+		.parent		= &pxa27x_device_pwm0.dev,
+		.platform_data	= &palm27x_backlight_data,
+	},
+};
+
+static void __init palm27x_pwm_init(int bl, int lcd)
+{
+	palm27x_bl_info.bl_power	= bl;
+	palm27x_bl_info.lcd_power	= lcd;
+	platform_device_register(&palm27x_backlight);
+}
+#else
+static inline void palm27x_pwm_init(int bl, int lcd) {}
+#endif
+
+/******************************************************************************
+ * Power supply
+ ******************************************************************************/
+#if defined(CONFIG_PDA_POWER) || defined(CONFIG_PDA_POWER_MODULE)
+struct {
+	int	ac_state;
+	int	usb_state;
+} palm27x_power_info;
+
+static int palm27x_power_supply_init(struct device *dev)
+{
+	int ret;
+
+	ret = gpio_request(palm27x_power_info.ac_state, "AC state");
+	if (ret)
+		goto err1;
+	ret = gpio_direction_input(palm27x_power_info.ac_state);
+	if (ret)
+		goto err2;
+
+	if (gpio_is_valid(palm27x_power_info.usb_state)) {
+		ret = gpio_request(palm27x_power_info.usb_state, "USB state");
+		if (ret)
+			goto err2;
+		ret = gpio_direction_input(palm27x_power_info.usb_state);
+		if (ret)
+			goto err3;
+	}
+
+	return 0;
+err3:
+	gpio_free(palm27x_power_info.usb_state);
+err2:
+	gpio_free(palm27x_power_info.ac_state);
+err1:
+	return ret;
+}
+
+static void palm27x_power_supply_exit(struct device *dev)
+{
+	gpio_free(palm27x_power_info.usb_state);
+	gpio_free(palm27x_power_info.ac_state);
+}
+
+static int palm27x_is_ac_online(void)
+{
+	return gpio_get_value(palm27x_power_info.ac_state);
+}
+
+static int palm27x_is_usb_online(void)
+{
+	return !gpio_get_value(palm27x_power_info.usb_state);
+}
+static char *palm27x_supplicants[] = {
+	"main-battery",
+};
+
+static struct pda_power_pdata palm27x_ps_info = {
+	.init			= palm27x_power_supply_init,
+	.exit			= palm27x_power_supply_exit,
+	.is_ac_online		= palm27x_is_ac_online,
+	.is_usb_online		= palm27x_is_usb_online,
+	.supplied_to		= palm27x_supplicants,
+	.num_supplicants	= ARRAY_SIZE(palm27x_supplicants),
+};
+
+static struct platform_device palm27x_power_supply = {
+	.name = "pda-power",
+	.id   = -1,
+	.dev  = {
+		.platform_data = &palm27x_ps_info,
+	},
+};
+
+static void __init palm27x_power_init(int ac, int usb)
+{
+	palm27x_power_info.ac_state	= ac;
+	palm27x_power_info.usb_state	= usb;
+	platform_device_register(&palm27x_power_supply);
+}
+#else
+static inline void palm27x_power_init(int ac, int usb) {}
+#endif
+
+void __init palm27x_common_init(struct palm27x_handheld *palm)
+{
+	pxa_set_ffuart_info(NULL);
+	pxa_set_btuart_info(NULL);
+	pxa_set_stuart_info(NULL);
+
+	palm27x_mmc_init(palm->mmc_detect, palm->mmc_ro, palm->mmc_power);
+	palm27x_pm_init(palm->pm_str_base);
+	palm27x_lcd_init(palm->lcd_power);
+	palm27x_udc_init(palm->udc_detect, palm->udc_pullup);
+	palm27x_irda_init(palm->irda_pwdn);
+	palm27x_ac97_init(palm->batt_minv, palm->batt_maxv, palm->jack_gpio);
+	palm27x_pwm_init(palm->bl_bl, palm->bl_lcd);
+	palm27x_power_init(palm->power_ac, palm->power_usb);
+}
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x
  2010-07-13  7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
  2010-07-13  7:38 ` [PATCH 2/5] pxa: Introduce Palm27x Marek Vasut
@ 2010-07-13  7:38 ` Marek Vasut
  2010-07-13  7:38 ` [PATCH 4/5] pxa: Add core pmic support for Palm27x Marek Vasut
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/mach-pxa/Kconfig    |    4 +
 arch/arm/mach-pxa/palmld.c   |  257 +++----------------------------------
 arch/arm/mach-pxa/palmt5.c   |  274 +++------------------------------------
 arch/arm/mach-pxa/palmtreo.c |  292 +++++-------------------------------------
 arch/arm/mach-pxa/palmtx.c   |  269 +++------------------------------------
 arch/arm/mach-pxa/palmz72.c  |  260 ++-----------------------------------
 6 files changed, 105 insertions(+), 1251 deletions(-)

diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index f3eaade..cdefc45 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -374,6 +374,7 @@ config MACH_PALMT5
 	depends on ARCH_PXA_PALM
 	select PXA27x
 	select IWMMXT
+	select MACH_PALM27X
 	help
 	  Say Y here if you intend to run this kernel on a Palm Tungsten|T5
 	  handheld computer.
@@ -384,6 +385,7 @@ config MACH_PALMTX
 	depends on ARCH_PXA_PALM
 	select PXA27x
 	select IWMMXT
+	select MACH_PALM27X
 	help
 	  Say Y here if you intend to run this kernel on a Palm T|X
 	  handheld computer.
@@ -394,6 +396,7 @@ config MACH_PALMZ72
 	depends on ARCH_PXA_PALM
 	select PXA27x
 	select IWMMXT
+	select MACH_PALM27X
 	help
 	  Say Y here if you intend to run this kernel on Palm Zire 72
 	  handheld computer.
@@ -404,6 +407,7 @@ config MACH_PALMLD
 	depends on ARCH_PXA_PALM
 	select PXA27x
 	select IWMMXT
+	select MACH_PALM27X
 	help
 	  Say Y here if you intend to run this kernel on a Palm LifeDrive
 	  handheld computer.
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index bec35e2..166d735 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -41,6 +41,7 @@
 #include <mach/irda.h>
 #include <mach/pxa27x_keypad.h>
 #include <mach/palmasoc.h>
+#include <mach/palm27x.h>
 
 #include "generic.h"
 #include "devices.h"
@@ -161,17 +162,6 @@ static struct platform_device palmld_flash = {
 };
 
 /******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-static struct pxamci_platform_data palmld_mci_platform_data = {
-	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO14_PALMLD_SD_DETECT_N,
-	.gpio_card_ro		= GPIO116_PALMLD_SD_READONLY,
-	.gpio_power		= GPIO114_PALMLD_SD_POWER,
-	.detect_delay_ms	= 200,
-};
-
-/******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
 static unsigned int palmld_matrix_keys[] = {
@@ -223,74 +213,6 @@ static struct platform_device palmld_pxa_keys = {
 };
 
 /******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmld_backlight_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
-	if (ret)
-		goto err;
-	ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
-	if (ret)
-		goto err2;
-	ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
-	if (ret)
-		goto err2;
-	ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
-	if (ret)
-		goto err3;
-
-	return 0;
-err3:
-	gpio_free(GPIO96_PALMLD_LCD_POWER);
-err2:
-	gpio_free(GPIO19_PALMLD_BL_POWER);
-err:
-	return ret;
-}
-
-static int palmld_backlight_notify(struct device *dev, int brightness)
-{
-	gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
-	gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
-	return brightness;
-}
-
-static void palmld_backlight_exit(struct device *dev)
-{
-	gpio_free(GPIO19_PALMLD_BL_POWER);
-	gpio_free(GPIO96_PALMLD_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmld_backlight_data = {
-	.pwm_id		= 0,
-	.max_brightness	= PALMLD_MAX_INTENSITY,
-	.dft_brightness	= PALMLD_MAX_INTENSITY,
-	.pwm_period_ns	= PALMLD_PERIOD_NS,
-	.init		= palmld_backlight_init,
-	.notify		= palmld_backlight_notify,
-	.exit		= palmld_backlight_exit,
-};
-
-static struct platform_device palmld_backlight = {
-	.name	= "pwm-backlight",
-	.dev	= {
-		.parent		= &pxa27x_device_pwm0.dev,
-		.platform_data	= &palmld_backlight_data,
-	},
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmld_ficp_platform_data = {
-	.gpio_pwdown		= GPIO108_PALMLD_IR_DISABLE,
-	.transceiver_cap	= IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
  * LEDs
  ******************************************************************************/
 struct gpio_led gpio_leds[] = {
@@ -319,112 +241,6 @@ static struct platform_device palmld_leds = {
 };
 
 /******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
-	if (ret)
-		goto err1;
-	ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
-	if (ret)
-		goto err2;
-
-	ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
-	if (ret)
-		goto err2;
-	ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
-	if (ret)
-		goto err3;
-
-	return 0;
-
-err3:
-	gpio_free(GPIO3_PALMLD_USB_DETECT_N);
-err2:
-	gpio_free(GPIO4_PALMLD_POWER_DETECT);
-err1:
-	return ret;
-}
-
-static int palmld_is_ac_online(void)
-{
-	return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
-}
-
-static int palmld_is_usb_online(void)
-{
-	return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
-}
-
-static void power_supply_exit(struct device *dev)
-{
-	gpio_free(GPIO3_PALMLD_USB_DETECT_N);
-	gpio_free(GPIO4_PALMLD_POWER_DETECT);
-}
-
-static char *palmld_supplicants[] = {
-	"main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
-	.init            = power_supply_init,
-	.is_ac_online    = palmld_is_ac_online,
-	.is_usb_online   = palmld_is_usb_online,
-	.exit            = power_supply_exit,
-	.supplied_to     = palmld_supplicants,
-	.num_supplicants = ARRAY_SIZE(palmld_supplicants),
-};
-
-static struct platform_device power_supply = {
-	.name = "pda-power",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &power_supply_info,
-	},
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmld_batt_pdata = {
-	.batt_aux	= WM97XX_AUX_ID3,
-	.temp_aux	= WM97XX_AUX_ID2,
-	.charge_gpio	= -1,
-	.max_voltage	= PALMLD_BAT_MAX_VOLTAGE,
-	.min_voltage	= PALMLD_BAT_MIN_VOLTAGE,
-	.batt_mult	= 1000,
-	.batt_div	= 414,
-	.temp_mult	= 1,
-	.temp_div	= 1,
-	.batt_tech	= POWER_SUPPLY_TECHNOLOGY_LIPO,
-	.batt_name	= "main-batt",
-};
-
-static struct wm97xx_pdata palmld_wm97xx_pdata = {
-	.batt_pdata	= &palmld_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmld_ac97_pdata = {
-	.reset_gpio	= 95,
-	.codec_pdata	= { &palmld_wm97xx_pdata, },
-};
-
-static struct palm27x_asoc_info palmld_asoc_pdata = {
-	.jack_gpio	= GPIO13_PALMLD_EARPHONE_DETECT,
-};
-
-static struct platform_device palmld_asoc = {
-	.name = "palm27x-asoc",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &palmld_asoc_pdata,
-	},
-};
-
-/******************************************************************************
  * HDD
  ******************************************************************************/
 static struct platform_device palmld_hdd = {
@@ -433,57 +249,13 @@ static struct platform_device palmld_hdd = {
 };
 
 /******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmld_lcd_modes[] = {
-{
-	.pixclock	= 57692,
-	.xres		= 320,
-	.yres		= 480,
-	.bpp		= 16,
-
-	.left_margin	= 32,
-	.right_margin	= 1,
-	.upper_margin	= 7,
-	.lower_margin	= 1,
-
-	.hsync_len	= 4,
-	.vsync_len	= 1,
-},
-};
-
-static struct pxafb_mach_info palmld_lcd_screen = {
-	.modes		= palmld_lcd_modes,
-	.num_modes	= ARRAY_SIZE(palmld_lcd_modes),
-	.lcd_conn	= LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init palmld_pm_init(void)
-{
-	static u32 resume[] = {
-		0xe3a00101,	/* mov	r0,	#0x40000000 */
-		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
-		0xe590f008,	/* ldr	pc, [r0, #0x08] */
-	};
-
-	/* copy the bootloader */
-	memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume));
-}
-
-/******************************************************************************
  * Machine init
  ******************************************************************************/
 static struct platform_device *devices[] __initdata = {
 #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
 	&palmld_pxa_keys,
 #endif
-	&palmld_backlight,
 	&palmld_leds,
-	&power_supply,
-	&palmld_asoc,
 	&palmld_hdd,
 	&palmld_flash,
 };
@@ -509,21 +281,26 @@ static void __init palmld_map_io(void)
 	iotable_init(palmld_io_desc, ARRAY_SIZE(palmld_io_desc));
 }
 
+struct palm27x_handheld palmld = {
+	.mmc_detect	= GPIO14_PALMLD_SD_DETECT_N,
+	.mmc_ro		= GPIO116_PALMLD_SD_READONLY,
+	.mmc_power	= GPIO114_PALMLD_SD_POWER,
+	.pm_str_base	= PALMLD_STR_BASE,
+	.irda_pwdn	= GPIO108_PALMLD_IR_DISABLE,
+	.batt_minv	= PALMLD_BAT_MIN_VOLTAGE,
+	.batt_maxv	= PALMLD_BAT_MAX_VOLTAGE,
+	.jack_gpio	= GPIO13_PALMLD_EARPHONE_DETECT,
+	.bl_bl		= GPIO19_PALMLD_BL_POWER,
+	.bl_lcd		= GPIO96_PALMLD_LCD_POWER,
+	.power_ac	= GPIO4_PALMLD_POWER_DETECT,
+	.power_usb	= GPIO3_PALMLD_USB_DETECT_N,
+};
+
 static void __init palmld_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));
-
-	pxa_set_ffuart_info(NULL);
-	pxa_set_btuart_info(NULL);
-	pxa_set_stuart_info(NULL);
-
-	palmld_pm_init();
-	set_pxa_fb_info(&palmld_lcd_screen);
-	pxa_set_mci_info(&palmld_mci_platform_data);
-	pxa_set_ac97_info(&palmld_ac97_pdata);
-	pxa_set_ficp_info(&palmld_ficp_platform_data);
+	palm27x_common_init(&palmld);
 	pxa_set_keypad_info(&palmld_keypad_platform_data);
-
 	platform_add_devices(devices, ARRAY_SIZE(devices));
 }
 
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 8037cfc..26925fc 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -41,6 +41,7 @@
 #include <mach/pxa27x_keypad.h>
 #include <mach/udc.h>
 #include <mach/palmasoc.h>
+#include <mach/palm27x.h>
 
 #include "generic.h"
 #include "devices.h"
@@ -103,17 +104,6 @@ static unsigned long palmt5_pin_config[] __initdata = {
 };
 
 /******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-static struct pxamci_platform_data palmt5_mci_platform_data = {
-	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO14_PALMT5_SD_DETECT_N,
-	.gpio_card_ro		= GPIO115_PALMT5_SD_READONLY,
-	.gpio_power		= GPIO114_PALMT5_SD_POWER,
-	.detect_delay_ms	= 200,
-};
-
-/******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
 static unsigned int palmt5_matrix_keys[] = {
@@ -162,259 +152,31 @@ static struct platform_device palmt5_pxa_keys = {
 };
 
 /******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmt5_backlight_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
-	if (ret)
-		goto err;
-	ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
-	if (ret)
-		goto err2;
-	ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
-	if (ret)
-		goto err2;
-	ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
-	if (ret)
-		goto err3;
-
-	return 0;
-err3:
-	gpio_free(GPIO96_PALMT5_LCD_POWER);
-err2:
-	gpio_free(GPIO84_PALMT5_BL_POWER);
-err:
-	return ret;
-}
-
-static int palmt5_backlight_notify(struct device *dev, int brightness)
-{
-	gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
-	gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
-	return brightness;
-}
-
-static void palmt5_backlight_exit(struct device *dev)
-{
-	gpio_free(GPIO84_PALMT5_BL_POWER);
-	gpio_free(GPIO96_PALMT5_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmt5_backlight_data = {
-	.pwm_id		= 0,
-	.max_brightness	= PALMT5_MAX_INTENSITY,
-	.dft_brightness	= PALMT5_MAX_INTENSITY,
-	.pwm_period_ns	= PALMT5_PERIOD_NS,
-	.init		= palmt5_backlight_init,
-	.notify		= palmt5_backlight_notify,
-	.exit		= palmt5_backlight_exit,
-};
-
-static struct platform_device palmt5_backlight = {
-	.name	= "pwm-backlight",
-	.dev	= {
-		.parent		= &pxa27x_device_pwm0.dev,
-		.platform_data	= &palmt5_backlight_data,
-	},
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmt5_ficp_platform_data = {
-	.gpio_pwdown		= GPIO40_PALMT5_IR_DISABLE,
-	.transceiver_cap	= IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct gpio_vbus_mach_info palmt5_udc_info = {
-	.gpio_vbus		= GPIO15_PALMT5_USB_DETECT_N,
-	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO93_PALMT5_USB_PULLUP,
-};
-
-static struct platform_device palmt5_gpio_vbus = {
-	.name	= "gpio-vbus",
-	.id	= -1,
-	.dev	= {
-		.platform_data	= &palmt5_udc_info,
-	},
-};
-
-/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
-	if (ret)
-		goto err1;
-	ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
-	if (ret)
-		goto err2;
-
-	return 0;
-err2:
-	gpio_free(GPIO90_PALMT5_POWER_DETECT);
-err1:
-	return ret;
-}
-
-static int palmt5_is_ac_online(void)
-{
-	return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
-}
-
-static void power_supply_exit(struct device *dev)
-{
-	gpio_free(GPIO90_PALMT5_POWER_DETECT);
-}
-
-static char *palmt5_supplicants[] = {
-	"main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
-	.init            = power_supply_init,
-	.is_ac_online    = palmt5_is_ac_online,
-	.exit            = power_supply_exit,
-	.supplied_to     = palmt5_supplicants,
-	.num_supplicants = ARRAY_SIZE(palmt5_supplicants),
-};
-
-static struct platform_device power_supply = {
-	.name = "pda-power",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &power_supply_info,
-	},
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmt5_batt_pdata = {
-	.batt_aux	= WM97XX_AUX_ID3,
-	.temp_aux	= WM97XX_AUX_ID2,
-	.charge_gpio	= -1,
-	.max_voltage	= PALMT5_BAT_MAX_VOLTAGE,
-	.min_voltage	= PALMT5_BAT_MIN_VOLTAGE,
-	.batt_mult	= 1000,
-	.batt_div	= 414,
-	.temp_mult	= 1,
-	.temp_div	= 1,
-	.batt_tech	= POWER_SUPPLY_TECHNOLOGY_LIPO,
-	.batt_name	= "main-batt",
-};
-
-static struct wm97xx_pdata palmt5_wm97xx_pdata = {
-	.batt_pdata	= &palmt5_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
-	.reset_gpio	= 95,
-	.codec_pdata	= { &palmt5_wm97xx_pdata, },
-};
-
-static struct palm27x_asoc_info palmt5_asoc_pdata = {
-	.jack_gpio	= GPIO107_PALMT5_EARPHONE_DETECT,
-};
-
-static struct platform_device palmt5_asoc = {
-	.name = "palm27x-asoc",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &palmt5_asoc_pdata,
-	},
-};
-
-/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmt5_lcd_modes[] = {
-{
-	.pixclock	= 57692,
-	.xres		= 320,
-	.yres		= 480,
-	.bpp		= 16,
-
-	.left_margin	= 32,
-	.right_margin	= 1,
-	.upper_margin	= 7,
-	.lower_margin	= 1,
-
-	.hsync_len	= 4,
-	.vsync_len	= 1,
-},
-};
-
-static struct pxafb_mach_info palmt5_lcd_screen = {
-	.modes		= palmt5_lcd_modes,
-	.num_modes	= ARRAY_SIZE(palmt5_lcd_modes),
-	.lcd_conn	= LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init palmt5_pm_init(void)
-{
-	static u32 resume[] = {
-		0xe3a00101,	/* mov	r0,	#0x40000000 */
-		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
-		0xe590f008,	/* ldr	pc, [r0, #0x08] */
-	};
-
-	/* copy the bootloader */
-	memcpy(phys_to_virt(PALMT5_STR_BASE), resume, sizeof(resume));
-}
-
-/******************************************************************************
  * Machine init
  ******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-	&palmt5_pxa_keys,
-#endif
-	&palmt5_backlight,
-	&power_supply,
-	&palmt5_asoc,
-	&palmt5_gpio_vbus,
+struct palm27x_handheld palmt5 = {
+	.mmc_detect	= GPIO14_PALMT5_SD_DETECT_N,
+	.mmc_ro		= GPIO115_PALMT5_SD_READONLY,
+	.mmc_power	= GPIO114_PALMT5_SD_POWER,
+	.pm_str_base	= PALMT5_STR_BASE,
+	.udc_detect	= GPIO15_PALMT5_USB_DETECT_N,
+	.udc_pullup	= GPIO93_PALMT5_USB_PULLUP,
+	.irda_pwdn	= GPIO40_PALMT5_IR_DISABLE,
+	.batt_minv	= PALMT5_BAT_MIN_VOLTAGE,
+	.batt_maxv	= PALMT5_BAT_MAX_VOLTAGE,
+	.jack_gpio	= GPIO107_PALMT5_EARPHONE_DETECT,
+	.bl_bl		= GPIO84_PALMT5_BL_POWER,
+	.bl_lcd		= GPIO96_PALMT5_LCD_POWER,
+	.power_ac	= GPIO90_PALMT5_POWER_DETECT,
+	.power_usb	= -1,
 };
 
-/* setup udc GPIOs initial state */
-static void __init palmt5_udc_init(void)
-{
-	if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
-		gpio_free(GPIO93_PALMT5_USB_PULLUP);
-	}
-}
-
 static void __init palmt5_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
-
-	pxa_set_ffuart_info(NULL);
-	pxa_set_btuart_info(NULL);
-	pxa_set_stuart_info(NULL);
-
-	palmt5_pm_init();
-	set_pxa_fb_info(&palmt5_lcd_screen);
-	pxa_set_mci_info(&palmt5_mci_platform_data);
-	palmt5_udc_init();
-	pxa_set_ac97_info(&palmt5_ac97_pdata);
-	pxa_set_ficp_info(&palmt5_ficp_platform_data);
+	palm27x_common_init(&palmt5);
 	pxa_set_keypad_info(&palmt5_keypad_platform_data);
-
-	platform_add_devices(devices, ARRAY_SIZE(devices));
+	platform_device_register(&palmt5_pxa_keys);
 }
 
 MACHINE_START(PALMT5, "Palm Tungsten|T5")
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index 4eb0258..dcb5f93 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -44,6 +44,7 @@
 #include <mach/pxa2xx-regs.h>
 #include <mach/palmasoc.h>
 #include <mach/camera.h>
+#include <mach/palm27x.h>
 
 #include <sound/pxa2xx-lib.h>
 
@@ -158,28 +159,6 @@ static unsigned long centro685_pin_config[] __initdata = {
 #endif /* CONFIG_MACH_CENTRO */
 
 /******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
-static struct pxamci_platform_data treo680_mci_platform_data = {
-	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_TREO_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_TREO680_SD_READONLY,
-	.gpio_power		= GPIO_NR_TREO680_SD_POWER,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
-static struct pxamci_platform_data centro_mci_platform_data = {
-	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_TREO_SD_DETECT_N,
-	.gpio_card_ro		= -1,
-	.gpio_power		= GPIO_NR_CENTRO_SD_POWER,
-	.gpio_power_invert	= 1,
-};
-#endif /* CONFIG_MACH_CENTRO */
-
-/******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
 #ifdef CONFIG_MACH_TREO680
@@ -327,83 +306,6 @@ static struct pxa27x_keypad_platform_data centro_keypad_platform_data = {
 #endif /* CONFIG_MACH_CENTRO */
 
 /******************************************************************************
- * aSoC audio
- ******************************************************************************/
-
-static pxa2xx_audio_ops_t treo_ac97_pdata = {
-	.reset_gpio	= 95,
-};
-
-/******************************************************************************
- * Backlight
- ******************************************************************************/
-static int treo_backlight_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO_NR_TREO_BL_POWER, "BL POWER");
-	if (ret)
-		goto err;
-	ret = gpio_direction_output(GPIO_NR_TREO_BL_POWER, 0);
-	if (ret)
-		goto err2;
-
-	return 0;
-
-err2:
-	gpio_free(GPIO_NR_TREO_BL_POWER);
-err:
-	return ret;
-}
-
-static int treo_backlight_notify(struct device *dev, int brightness)
-{
-	gpio_set_value(GPIO_NR_TREO_BL_POWER, brightness);
-	return TREO_MAX_INTENSITY - brightness;
-};
-
-static void treo_backlight_exit(struct device *dev)
-{
-	gpio_free(GPIO_NR_TREO_BL_POWER);
-}
-
-static struct platform_pwm_backlight_data treo_backlight_data = {
-	.pwm_id		= 0,
-	.max_brightness	= TREO_MAX_INTENSITY,
-	.dft_brightness	= TREO_DEFAULT_INTENSITY,
-	.pwm_period_ns	= TREO_PERIOD_NS,
-	.init		= treo_backlight_init,
-	.notify		= treo_backlight_notify,
-	.exit		= treo_backlight_exit,
-};
-
-static struct platform_device treo_backlight = {
-	.name	= "pwm-backlight",
-	.dev	= {
-		.parent		= &pxa27x_device_pwm0.dev,
-		.platform_data	= &treo_backlight_data,
-	},
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data treo_ficp_info = {
-	.gpio_pwdown		= GPIO_NR_TREO_IR_EN,
-	.transceiver_cap	= IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct pxa2xx_udc_mach_info treo_udc_info __initdata = {
-	.gpio_vbus		= GPIO_NR_TREO_USB_DETECT,
-	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO_NR_TREO_USB_PULLUP,
-};
-
-
-/******************************************************************************
  * USB host
  ******************************************************************************/
 #ifdef CONFIG_MACH_TREO680
@@ -415,58 +317,6 @@ static struct pxaohci_platform_data treo680_ohci_info = {
 #endif /* CONFIG_MACH_TREO680 */
 
 /******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO_NR_TREO_POWER_DETECT, "CABLE_STATE_AC");
-	if (ret)
-		goto err1;
-	ret = gpio_direction_input(GPIO_NR_TREO_POWER_DETECT);
-	if (ret)
-		goto err2;
-
-	return 0;
-
-err2:
-	gpio_free(GPIO_NR_TREO_POWER_DETECT);
-err1:
-	return ret;
-}
-
-static int treo_is_ac_online(void)
-{
-	return gpio_get_value(GPIO_NR_TREO_POWER_DETECT);
-}
-
-static void power_supply_exit(struct device *dev)
-{
-	gpio_free(GPIO_NR_TREO_POWER_DETECT);
-}
-
-static char *treo_supplicants[] = {
-	"main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
-	.init		 = power_supply_init,
-	.is_ac_online    = treo_is_ac_online,
-	.exit		 = power_supply_exit,
-	.supplied_to     = treo_supplicants,
-	.num_supplicants = ARRAY_SIZE(treo_supplicants),
-};
-
-static struct platform_device power_supply = {
-	.name = "pda-power",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &power_supply_info,
-	},
-};
-
-/******************************************************************************
  * Vibra and LEDs
  ******************************************************************************/
 #ifdef CONFIG_MACH_TREO680
@@ -537,60 +387,8 @@ static struct platform_device centro_leds = {
 #endif /* CONFIG_MACH_CENTRO */
 
 /******************************************************************************
- * Framebuffer
- ******************************************************************************/
-/* TODO: add support for 324x324 */
-static struct pxafb_mode_info treo_lcd_modes[] = {
-{
-	.pixclock		= 86538,
-	.xres			= 320,
-	.yres			= 320,
-	.bpp			= 16,
-
-	.left_margin		= 20,
-	.right_margin		= 8,
-	.upper_margin		= 8,
-	.lower_margin		= 5,
-
-	.hsync_len		= 4,
-	.vsync_len		= 1,
-},
-};
-
-static void treo_lcd_power(int on, struct fb_var_screeninfo *info)
-{
-	gpio_set_value(GPIO_NR_TREO_BL_POWER, on);
-}
-
-static struct pxafb_mach_info treo_lcd_screen = {
-	.modes		= treo_lcd_modes,
-	.num_modes	= ARRAY_SIZE(treo_lcd_modes),
-	.lcd_conn	= LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init treo_pm_init(void)
-{
-	static u32 resume[] = {
-		0xe3a00101,	/* mov	r0,	#0x40000000 */
-		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
-		0xe590f008,	/* ldr	pc, [r0, #0x08] */
-	};
-
-	/* this is where the bootloader jumps */
-	memcpy(phys_to_virt(TREO_STR_BASE), resume, sizeof(resume));
-}
-
-/******************************************************************************
  * Machine init
  ******************************************************************************/
-static struct platform_device *treo_devices[] __initdata = {
-	&treo_backlight,
-	&power_supply,
-};
-
 #ifdef CONFIG_MACH_TREO680
 static struct platform_device *treo680_devices[] __initdata = {
 	&treo680_leds,
@@ -603,62 +401,29 @@ static struct platform_device *centro_devices[] __initdata = {
 };
 #endif /* CONFIG_MACH_CENTRO */
 
-/* setup udc GPIOs initial state */
-static void __init treo_udc_init(void)
-{
-	if (!gpio_request(GPIO_NR_TREO_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO_NR_TREO_USB_PULLUP, 1);
-		gpio_free(GPIO_NR_TREO_USB_PULLUP);
-	}
-}
-
-static void __init treo_lcd_power_init(void)
-{
-	int ret;
-
-	ret = gpio_request(GPIO_NR_TREO_LCD_POWER, "LCD POWER");
-	if (ret) {
-		pr_err("Treo680: LCD power GPIO request failed!\n");
-		return;
-	}
-
-	ret = gpio_direction_output(GPIO_NR_TREO_LCD_POWER, 0);
-	if (ret) {
-		pr_err("Treo680: setting LCD power GPIO direction failed!\n");
-		gpio_free(GPIO_NR_TREO_LCD_POWER);
-		return;
-	}
-
-	treo_lcd_screen.pxafb_lcd_power = treo_lcd_power;
-}
-
-static void __init treo_init(void)
-{
-	pxa_set_ffuart_info(NULL);
-	pxa_set_btuart_info(NULL);
-	pxa_set_stuart_info(NULL);
-
-	treo_pm_init();
-	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
-	treo_lcd_power_init();
-	set_pxa_fb_info(&treo_lcd_screen);
-	treo_udc_init();
-	pxa_set_udc_info(&treo_udc_info);
-	pxa_set_ac97_info(&treo_ac97_pdata);
-	pxa_set_ficp_info(&treo_ficp_info);
-
-	platform_add_devices(ARRAY_AND_SIZE(treo_devices));
-}
-
 #ifdef CONFIG_MACH_TREO680
+struct palm27x_handheld palmtreo680 = {
+	.mmc_detect	= GPIO_NR_TREO_SD_DETECT_N,
+	.mmc_ro		= GPIO_NR_TREO680_SD_READONLY,
+	.mmc_power	= GPIO_NR_TREO680_SD_POWER,
+	.pm_str_base	= TREO_STR_BASE,
+	.udc_detect	= GPIO_NR_TREO_USB_DETECT,
+	.udc_pullup	= GPIO_NR_TREO_USB_PULLUP,
+	.irda_pwdn	= GPIO_NR_TREO_IR_EN,
+	.bl_bl		= GPIO_NR_TREO_BL_POWER,
+	.bl_lcd		= -1,
+	.power_ac	= GPIO_NR_TREO_POWER_DETECT,
+	.power_usb	= -1,
+	.lcd_power	= GPIO_NR_TREO_BL_POWER,
+};
+
 static void __init treo680_init(void)
 {
-	treo_init();
+	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
-	pxa_set_mci_info(&treo680_mci_platform_data);
+	palm27x_common_init(&palmtreo680);
 	pxa_set_keypad_info(&treo680_keypad_platform_data);
 	pxa_set_ohci_info(&treo680_ohci_info);
-
 	platform_add_devices(ARRAY_AND_SIZE(treo680_devices));
 }
 
@@ -674,14 +439,27 @@ MACHINE_END
 #endif /* CONFIG_MACH_TREO680 */
 
 #ifdef CONFIG_MACH_CENTRO
+struct palm27x_handheld palmcentro = {
+	.mmc_detect	= GPIO_NR_TREO_SD_DETECT_N,
+	.mmc_ro		= -1,
+	.mmc_power	= GPIO_NR_CENTRO_SD_POWER,
+	.pm_str_base	= TREO_STR_BASE,
+	.udc_detect	= GPIO_NR_TREO_USB_DETECT,
+	.udc_pullup	= GPIO_NR_TREO_USB_PULLUP,
+	.irda_pwdn	= GPIO_NR_TREO_IR_EN,
+	.bl_bl		= GPIO_NR_TREO_BL_POWER,
+	.bl_lcd		= -1,
+	.power_ac	= GPIO_NR_TREO_POWER_DETECT,
+	.power_usb	= -1,
+	.lcd_power	= GPIO_NR_TREO_BL_POWER,
+};
+
 static void __init centro_init(void)
 {
-	treo_init();
+	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
-	pxa_set_mci_info(&centro_mci_platform_data);
-
+	palm27x_common_init(&palmcentro);
 	pxa_set_keypad_info(&centro_keypad_platform_data);
-
 	platform_add_devices(ARRAY_AND_SIZE(centro_devices));
 }
 
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index a835034..fe7ef08 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -46,6 +46,7 @@
 #include <mach/pxa27x_keypad.h>
 #include <mach/udc.h>
 #include <mach/palmasoc.h>
+#include <mach/palm27x.h>
 
 #include "generic.h"
 #include "devices.h"
@@ -163,17 +164,6 @@ static struct platform_device palmtx_flash = {
 };
 
 /******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-static struct pxamci_platform_data palmtx_mci_platform_data = {
-	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO14_PALMTX_SD_DETECT_N,
-	.gpio_card_ro		= GPIO115_PALMTX_SD_READONLY,
-	.gpio_power		= GPIO114_PALMTX_SD_POWER,
-	.detect_delay_ms	= 200,
-};
-
-/******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
 static unsigned int palmtx_matrix_keys[] = {
@@ -222,207 +212,6 @@ static struct platform_device palmtx_pxa_keys = {
 };
 
 /******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmtx_backlight_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
-	if (ret)
-		goto err;
-	ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
-	if (ret)
-		goto err2;
-	ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
-	if (ret)
-		goto err2;
-	ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
-	if (ret)
-		goto err3;
-
-	return 0;
-err3:
-	gpio_free(GPIO96_PALMTX_LCD_POWER);
-err2:
-	gpio_free(GPIO84_PALMTX_BL_POWER);
-err:
-	return ret;
-}
-
-static int palmtx_backlight_notify(struct device *dev, int brightness)
-{
-	gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
-	gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
-	return brightness;
-}
-
-static void palmtx_backlight_exit(struct device *dev)
-{
-	gpio_free(GPIO84_PALMTX_BL_POWER);
-	gpio_free(GPIO96_PALMTX_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmtx_backlight_data = {
-	.pwm_id		= 0,
-	.max_brightness	= PALMTX_MAX_INTENSITY,
-	.dft_brightness	= PALMTX_MAX_INTENSITY,
-	.pwm_period_ns	= PALMTX_PERIOD_NS,
-	.init		= palmtx_backlight_init,
-	.notify		= palmtx_backlight_notify,
-	.exit		= palmtx_backlight_exit,
-};
-
-static struct platform_device palmtx_backlight = {
-	.name	= "pwm-backlight",
-	.dev	= {
-		.parent		= &pxa27x_device_pwm0.dev,
-		.platform_data	= &palmtx_backlight_data,
-	},
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmtx_ficp_platform_data = {
-	.gpio_pwdown		= GPIO40_PALMTX_IR_DISABLE,
-	.transceiver_cap	= IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct gpio_vbus_mach_info palmtx_udc_info = {
-	.gpio_vbus		= GPIO13_PALMTX_USB_DETECT_N,
-	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO93_PALMTX_USB_PULLUP,
-};
-
-static struct platform_device palmtx_gpio_vbus = {
-	.name	= "gpio-vbus",
-	.id	= -1,
-	.dev	= {
-		.platform_data	= &palmtx_udc_info,
-	},
-};
-
-/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
-	if (ret)
-		goto err1;
-	ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
-	if (ret)
-		goto err2;
-
-	return 0;
-
-err2:
-	gpio_free(GPIO12_PALMTX_POWER_DETECT);
-err1:
-	return ret;
-}
-
-static int palmtx_is_ac_online(void)
-{
-	return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
-}
-
-static void power_supply_exit(struct device *dev)
-{
-	gpio_free(GPIO12_PALMTX_POWER_DETECT);
-}
-
-static char *palmtx_supplicants[] = {
-	"main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
-	.init            = power_supply_init,
-	.is_ac_online    = palmtx_is_ac_online,
-	.exit            = power_supply_exit,
-	.supplied_to     = palmtx_supplicants,
-	.num_supplicants = ARRAY_SIZE(palmtx_supplicants),
-};
-
-static struct platform_device power_supply = {
-	.name = "pda-power",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &power_supply_info,
-	},
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmtx_batt_pdata = {
-	.batt_aux	= WM97XX_AUX_ID3,
-	.temp_aux	= WM97XX_AUX_ID2,
-	.charge_gpio	= -1,
-	.max_voltage	= PALMTX_BAT_MAX_VOLTAGE,
-	.min_voltage	= PALMTX_BAT_MIN_VOLTAGE,
-	.batt_mult	= 1000,
-	.batt_div	= 414,
-	.temp_mult	= 1,
-	.temp_div	= 1,
-	.batt_tech	= POWER_SUPPLY_TECHNOLOGY_LIPO,
-	.batt_name	= "main-batt",
-};
-
-static struct wm97xx_pdata palmtx_wm97xx_pdata = {
-	.batt_pdata	= &palmtx_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
-	.reset_gpio	= 95,
-	.codec_pdata	= { &palmtx_wm97xx_pdata, },
-};
-
-static struct palm27x_asoc_info palmtx_asoc_pdata = {
-	.jack_gpio	= GPIO107_PALMTX_EARPHONE_DETECT,
-};
-
-static struct platform_device palmtx_asoc = {
-	.name = "palm27x-asoc",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &palmtx_asoc_pdata,
-	},
-};
-
-/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmtx_lcd_modes[] = {
-{
-	.pixclock	= 57692,
-	.xres		= 320,
-	.yres		= 480,
-	.bpp		= 16,
-
-	.left_margin	= 32,
-	.right_margin	= 1,
-	.upper_margin	= 7,
-	.lower_margin	= 1,
-
-	.hsync_len	= 4,
-	.vsync_len	= 1,
-},
-};
-
-static struct pxafb_mach_info palmtx_lcd_screen = {
-	.modes		= palmtx_lcd_modes,
-	.num_modes	= ARRAY_SIZE(palmtx_lcd_modes),
-	.lcd_conn	= LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
-/******************************************************************************
  * NAND Flash
  ******************************************************************************/
 static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
@@ -484,20 +273,6 @@ static struct platform_device palmtx_nand = {
 	}
 };
 
-/******************************************************************************
- * Power management - standby
- ******************************************************************************/
-static void __init palmtx_pm_init(void)
-{
-	static u32 resume[] = {
-		0xe3a00101,	/* mov	r0,	#0x40000000 */
-		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
-		0xe590f008,	/* ldr	pc, [r0, #0x08] */
-	};
-
-	/* copy the bootloader */
-	memcpy(phys_to_virt(PALMTX_STR_BASE), resume, sizeof(resume));
-}
 
 /******************************************************************************
  * Machine init
@@ -506,10 +281,6 @@ static struct platform_device *devices[] __initdata = {
 #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
 	&palmtx_pxa_keys,
 #endif
-	&palmtx_backlight,
-	&power_supply,
-	&palmtx_asoc,
-	&palmtx_gpio_vbus,
 	&palmtx_flash,
 	&palmtx_nand,
 };
@@ -539,32 +310,28 @@ static void __init palmtx_map_io(void)
 	iotable_init(palmtx_io_desc, ARRAY_SIZE(palmtx_io_desc));
 }
 
-/* setup udc GPIOs initial state */
-static void __init palmtx_udc_init(void)
-{
-	if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
-		gpio_free(GPIO93_PALMTX_USB_PULLUP);
-	}
-}
-
+struct palm27x_handheld palmtx = {
+	.mmc_detect	= GPIO14_PALMTX_SD_DETECT_N,
+	.mmc_ro		= GPIO115_PALMTX_SD_READONLY,
+	.mmc_power	= GPIO114_PALMTX_SD_POWER,
+	.pm_str_base	= PALMTX_STR_BASE,
+	.udc_detect	= GPIO13_PALMTX_USB_DETECT_N,
+	.udc_pullup	= GPIO93_PALMTX_USB_PULLUP,
+	.irda_pwdn	= GPIO40_PALMTX_IR_DISABLE,
+	.batt_minv	= PALMTX_BAT_MIN_VOLTAGE,
+	.batt_maxv	= PALMTX_BAT_MAX_VOLTAGE,
+	.jack_gpio	= GPIO107_PALMTX_EARPHONE_DETECT,
+	.bl_bl		= GPIO84_PALMTX_BL_POWER,
+	.bl_lcd		= GPIO96_PALMTX_LCD_POWER,
+	.power_ac	= GPIO12_PALMTX_POWER_DETECT,
+	.power_usb	= -1,
+};
 
 static void __init palmtx_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
-
-	pxa_set_ffuart_info(NULL);
-	pxa_set_btuart_info(NULL);
-	pxa_set_stuart_info(NULL);
-
-	palmtx_pm_init();
-	set_pxa_fb_info(&palmtx_lcd_screen);
-	pxa_set_mci_info(&palmtx_mci_platform_data);
-	palmtx_udc_init();
-	pxa_set_ac97_info(&palmtx_ac97_pdata);
-	pxa_set_ficp_info(&palmtx_ficp_platform_data);
+	palm27x_common_init(&palmtx);
 	pxa_set_keypad_info(&palmtx_keypad_platform_data);
-
 	platform_add_devices(devices, ARRAY_SIZE(devices));
 }
 
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index 91bc5a3..e66e911 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -44,6 +44,7 @@
 #include <mach/pxa27x_keypad.h>
 #include <mach/udc.h>
 #include <mach/palmasoc.h>
+#include <mach/palm27x.h>
 
 #include <mach/pm.h>
 
@@ -109,19 +110,6 @@ static unsigned long palmz72_pin_config[] __initdata = {
 };
 
 /******************************************************************************
- * SD/MMC card controller
- ******************************************************************************/
-/* SD_POWER is not actually power, but it is more like chip
- * select, i.e. it is inverted */
-static struct pxamci_platform_data palmz72_mci_platform_data = {
-	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO14_PALMZ72_SD_DETECT_N,
-	.gpio_card_ro		= GPIO115_PALMZ72_SD_RO,
-	.gpio_power		= GPIO98_PALMZ72_SD_POWER_N,
-	.gpio_power_invert	= 1,
-};
-
-/******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
 static unsigned int palmz72_matrix_keys[] = {
@@ -150,74 +138,6 @@ static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
 };
 
 /******************************************************************************
- * Backlight
- ******************************************************************************/
-static int palmz72_backlight_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
-	if (ret)
-		goto err;
-	ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
-	if (ret)
-		goto err2;
-	ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
-	if (ret)
-		goto err2;
-	ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
-	if (ret)
-		goto err3;
-
-	return 0;
-err3:
-	gpio_free(GPIO96_PALMZ72_LCD_POWER);
-err2:
-	gpio_free(GPIO20_PALMZ72_BL_POWER);
-err:
-	return ret;
-}
-
-static int palmz72_backlight_notify(struct device *dev, int brightness)
-{
-	gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
-	gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
-	return brightness;
-}
-
-static void palmz72_backlight_exit(struct device *dev)
-{
-	gpio_free(GPIO20_PALMZ72_BL_POWER);
-	gpio_free(GPIO96_PALMZ72_LCD_POWER);
-}
-
-static struct platform_pwm_backlight_data palmz72_backlight_data = {
-	.pwm_id		= 0,
-	.max_brightness	= PALMZ72_MAX_INTENSITY,
-	.dft_brightness	= PALMZ72_MAX_INTENSITY,
-	.pwm_period_ns	= PALMZ72_PERIOD_NS,
-	.init		= palmz72_backlight_init,
-	.notify		= palmz72_backlight_notify,
-	.exit		= palmz72_backlight_exit,
-};
-
-static struct platform_device palmz72_backlight = {
-	.name	= "pwm-backlight",
-	.dev	= {
-		.parent		= &pxa27x_device_pwm0.dev,
-		.platform_data	= &palmz72_backlight_data,
-	},
-};
-
-/******************************************************************************
- * IrDA
- ******************************************************************************/
-static struct pxaficp_platform_data palmz72_ficp_platform_data = {
-	.gpio_pwdown		= GPIO49_PALMZ72_IR_DISABLE,
-	.transceiver_cap	= IR_SIRMODE | IR_OFF,
-};
-
-/******************************************************************************
  * LEDs
  ******************************************************************************/
 static struct gpio_led gpio_leds[] = {
@@ -241,145 +161,6 @@ static struct platform_device palmz72_leds = {
 	}
 };
 
-/******************************************************************************
- * UDC
- ******************************************************************************/
-static struct gpio_vbus_mach_info palmz72_udc_info = {
-	.gpio_vbus		= GPIO15_PALMZ72_USB_DETECT_N,
-	.gpio_pullup		= GPIO95_PALMZ72_USB_PULLUP,
-};
-
-static struct platform_device palmz72_gpio_vbus = {
-	.name	= "gpio-vbus",
-	.id	= -1,
-	.dev	= {
-		.platform_data	= &palmz72_udc_info,
-	},
-};
-
-/******************************************************************************
- * Power supply
- ******************************************************************************/
-static int power_supply_init(struct device *dev)
-{
-	int ret;
-
-	ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
-	if (ret)
-		goto err1;
-	ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
-	if (ret)
-		goto err2;
-
-	ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
-	if (ret)
-		goto err2;
-	ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
-	if (ret)
-		goto err3;
-
-	return 0;
-err3:
-	gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
-err2:
-	gpio_free(GPIO0_PALMZ72_POWER_DETECT);
-err1:
-	return ret;
-}
-
-static int palmz72_is_ac_online(void)
-{
-	return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
-}
-
-static int palmz72_is_usb_online(void)
-{
-	return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
-}
-
-static void power_supply_exit(struct device *dev)
-{
-	gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
-	gpio_free(GPIO0_PALMZ72_POWER_DETECT);
-}
-
-static char *palmz72_supplicants[] = {
-	"main-battery",
-};
-
-static struct pda_power_pdata power_supply_info = {
-	.init            = power_supply_init,
-	.is_ac_online    = palmz72_is_ac_online,
-	.is_usb_online   = palmz72_is_usb_online,
-	.exit            = power_supply_exit,
-	.supplied_to     = palmz72_supplicants,
-	.num_supplicants = ARRAY_SIZE(palmz72_supplicants),
-};
-
-static struct platform_device power_supply = {
-	.name = "pda-power",
-	.id   = -1,
-	.dev  = {
-		.platform_data = &power_supply_info,
-	},
-};
-
-/******************************************************************************
- * WM97xx audio, battery
- ******************************************************************************/
-static struct wm97xx_batt_pdata palmz72_batt_pdata = {
-	.batt_aux	= WM97XX_AUX_ID3,
-	.temp_aux	= WM97XX_AUX_ID2,
-	.charge_gpio	= -1,
-	.max_voltage	= PALMZ72_BAT_MAX_VOLTAGE,
-	.min_voltage	= PALMZ72_BAT_MIN_VOLTAGE,
-	.batt_mult	= 1000,
-	.batt_div	= 414,
-	.temp_mult	= 1,
-	.temp_div	= 1,
-	.batt_tech	= POWER_SUPPLY_TECHNOLOGY_LIPO,
-	.batt_name	= "main-batt",
-};
-
-static struct wm97xx_pdata palmz72_wm97xx_pdata = {
-	.batt_pdata	= &palmz72_batt_pdata,
-};
-
-static pxa2xx_audio_ops_t palmz72_ac97_pdata = {
-	.codec_pdata	= { &palmz72_wm97xx_pdata, },
-};
-
-static struct platform_device palmz72_asoc = {
-	.name = "palm27x-asoc",
-	.id   = -1,
-};
-
-/******************************************************************************
- * Framebuffer
- ******************************************************************************/
-static struct pxafb_mode_info palmz72_lcd_modes[] = {
-{
-	.pixclock	= 115384,
-	.xres		= 320,
-	.yres		= 320,
-	.bpp		= 16,
-
-	.left_margin	= 27,
-	.right_margin	= 7,
-	.upper_margin	= 7,
-	.lower_margin	= 8,
-
-	.hsync_len	= 6,
-	.vsync_len	= 1,
-},
-};
-
-static struct pxafb_mach_info palmz72_lcd_screen = {
-	.modes		= palmz72_lcd_modes,
-	.num_modes	= ARRAY_SIZE(palmz72_lcd_modes),
-	.lcd_conn	= LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
-};
-
 #ifdef CONFIG_PM
 
 /* We have some black magic here
@@ -457,39 +238,24 @@ device_initcall(palmz72_pm_init);
 /******************************************************************************
  * Machine init
  ******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-	&palmz72_backlight,
-	&palmz72_leds,
-	&palmz72_asoc,
-	&power_supply,
-	&palmz72_gpio_vbus,
+struct palm27x_handheld palmz72 = {
+	.mmc_detect	= GPIO14_PALMZ72_SD_DETECT_N,
+	.mmc_ro		= GPIO115_PALMZ72_SD_RO,
+	.mmc_power	= GPIO98_PALMZ72_SD_POWER_N,
+	.pm_str_base	= 0,
+	.udc_detect	= GPIO15_PALMZ72_USB_DETECT_N,
+	.udc_pullup	= GPIO95_PALMZ72_USB_PULLUP,
+	.irda_pwdn	= GPIO49_PALMZ72_IR_DISABLE,
+	.batt_minv	= PALMZ72_BAT_MIN_VOLTAGE,
+	.batt_maxv	= PALMZ72_BAT_MAX_VOLTAGE,
 };
 
-/* setup udc GPIOs initial state */
-static void __init palmz72_udc_init(void)
-{
-	if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
-		gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
-		gpio_free(GPIO95_PALMZ72_USB_PULLUP);
-	}
-}
-
 static void __init palmz72_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config));
-
-	pxa_set_ffuart_info(NULL);
-	pxa_set_btuart_info(NULL);
-	pxa_set_stuart_info(NULL);
-
-	set_pxa_fb_info(&palmz72_lcd_screen);
-	pxa_set_mci_info(&palmz72_mci_platform_data);
-	palmz72_udc_init();
-	pxa_set_ac97_info(&palmz72_ac97_pdata);
-	pxa_set_ficp_info(&palmz72_ficp_platform_data);
+	palm27x_common_init(&palmz72);
 	pxa_set_keypad_info(&palmz72_keypad_platform_data);
-
-	platform_add_devices(devices, ARRAY_SIZE(devices));
+	platform_device_register(&palmz72_leds);
 }
 
 MACHINE_START(PALMZ72, "Palm Zire72")
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 4/5] pxa: Add core pmic support for Palm27x
  2010-07-13  7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
  2010-07-13  7:38 ` [PATCH 2/5] pxa: Introduce Palm27x Marek Vasut
  2010-07-13  7:38 ` [PATCH 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x Marek Vasut
@ 2010-07-13  7:38 ` Marek Vasut
  2010-07-13  7:38 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
  2010-07-13  8:10 ` [PATCH 1/5] pxa: Sane naming of gpios for palm platform Eric Miao
  4 siblings, 0 replies; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/mach-pxa/palm27x.c |   57 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
index 6d7b978..7819b06 100644
--- a/arch/arm/mach-pxa/palm27x.c
+++ b/arch/arm/mach-pxa/palm27x.c
@@ -21,6 +21,7 @@
 #include <linux/wm97xx.h>
 #include <linux/power_supply.h>
 #include <linux/usb/gpio_vbus.h>
+#include <linux/regulator/max1586.h>
 
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -35,6 +36,8 @@
 #include <mach/palmasoc.h>
 #include <mach/palm27x.h>
 
+#include <plat/i2c.h>
+
 #include "generic.h"
 #include "devices.h"
 
@@ -456,6 +459,59 @@ static void __init palm27x_power_init(int ac, int usb)
 static inline void palm27x_power_init(int ac, int usb) {}
 #endif
 
+/******************************************************************************
+ * Core power regulator
+ ******************************************************************************/
+#if defined(CONFIG_REGULATOR_MAX1586) || \
+    defined(CONFIG_REGULATOR_MAX1586_MODULE)
+static struct regulator_consumer_supply palm27x_max1587a_consumers[] = {
+	{
+		.supply	= "vcc_core",
+	}
+};
+
+static struct regulator_init_data palm27x_max1587a_v3_info = {
+	.constraints = {
+		.name		= "vcc_core range",
+		.min_uV		= 900000,
+		.max_uV		= 1705000,
+		.always_on	= 1,
+		.valid_ops_mask	= REGULATOR_CHANGE_VOLTAGE,
+	},
+	.consumer_supplies	= palm27x_max1587a_consumers,
+	.num_consumer_supplies	= ARRAY_SIZE(palm27x_max1587a_consumers),
+};
+
+static struct max1586_subdev_data palm27x_max1587a_subdevs[] = {
+	{
+		.name		= "vcc_core",
+		.id		= MAX1586_V3,
+		.platform_data	= &palm27x_max1587a_v3_info,
+	}
+};
+
+static struct max1586_platform_data palm27x_max1587a_info = {
+	.subdevs     = palm27x_max1587a_subdevs,
+	.num_subdevs = ARRAY_SIZE(palm27x_max1587a_subdevs),
+	.v3_gain     = MAX1586_GAIN_R24_3k32, /* 730..1550 mV */
+};
+
+static struct i2c_board_info __initdata palm27x_pi2c_board_info[] = {
+	{
+		I2C_BOARD_INFO("max1586", 0x14),
+		.platform_data	= &palm27x_max1587a_info,
+	},
+};
+
+static void __init palm27x_pmic_init(void)
+{
+	i2c_register_board_info(1, ARRAY_AND_SIZE(palm27x_pi2c_board_info));
+	pxa27x_set_i2c_power_info(NULL);
+}
+#else
+static inline void palm27x_pmic_init(void) {}
+#endif
+
 void __init palm27x_common_init(struct palm27x_handheld *palm)
 {
 	pxa_set_ffuart_info(NULL);
@@ -470,4 +526,5 @@ void __init palm27x_common_init(struct palm27x_handheld *palm)
 	palm27x_ac97_init(palm->batt_minv, palm->batt_maxv, palm->jack_gpio);
 	palm27x_pwm_init(palm->bl_bl, palm->bl_lcd);
 	palm27x_power_init(palm->power_ac, palm->power_usb);
+	palm27x_pmic_init();
 }
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 5/5] pxa: Modularize remnants of code in Palms
  2010-07-13  7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
                   ` (2 preceding siblings ...)
  2010-07-13  7:38 ` [PATCH 4/5] pxa: Add core pmic support for Palm27x Marek Vasut
@ 2010-07-13  7:38 ` Marek Vasut
  2010-07-13  8:10 ` [PATCH 1/5] pxa: Sane naming of gpios for palm platform Eric Miao
  4 siblings, 0 replies; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/mach-pxa/palmld.c   |   63 +++++++++++++++----
 arch/arm/mach-pxa/palmt5.c   |   22 ++++++-
 arch/arm/mach-pxa/palmtreo.c |  141 ++++++++++++++++++++----------------------
 arch/arm/mach-pxa/palmtx.c   |   49 ++++++++++++---
 arch/arm/mach-pxa/palmz72.c  |   22 ++++++-
 5 files changed, 196 insertions(+), 101 deletions(-)

diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 166d735..1f592b5 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -128,6 +128,7 @@ static unsigned long palmld_pin_config[] __initdata = {
 /******************************************************************************
  * NOR Flash
  ******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
 static struct mtd_partition palmld_partitions[] = {
 	{
 		.name		= "Flash",
@@ -161,9 +162,18 @@ static struct platform_device palmld_flash = {
 	},
 };
 
+static void __init palmld_nor_init(void)
+{
+	platform_device_register(&palmld_flash);
+}
+#else
+static inline void palmld_nor_init(void) {}
+#endif
+
 /******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
 static unsigned int palmld_matrix_keys[] = {
 	KEY(0, 1, KEY_F2),
 	KEY(0, 2, KEY_UP),
@@ -190,9 +200,18 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
 	.debounce_interval	= 30,
 };
 
+static void __init palmld_kpc_init(void)
+{
+	pxa_set_keypad_info(&palmld_keypad_platform_data);
+}
+#else
+static inline void palmld_kpc_init(void) {}
+#endif
+
 /******************************************************************************
  * GPIO keys
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
 static struct gpio_keys_button palmld_pxa_buttons[] = {
 	{KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 	{KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
@@ -212,9 +231,18 @@ static struct platform_device palmld_pxa_keys = {
 	},
 };
 
+static void __init palmld_keys_init(void)
+{
+	platform_device_register(&palmld_pxa_keys);
+}
+#else
+static inline void palmld_keys_init(void) {}
+#endif
+
 /******************************************************************************
  * LEDs
  ******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
 struct gpio_led gpio_leds[] = {
 {
 	.name			= "palmld:green:led",
@@ -240,26 +268,34 @@ static struct platform_device palmld_leds = {
 	}
 };
 
+static void __init palmld_leds_init(void)
+{
+	platform_device_register(&palmld_leds);
+}
+#else
+static inline void palmld_leds_init(void) {}
+#endif
+
 /******************************************************************************
  * HDD
  ******************************************************************************/
-static struct platform_device palmld_hdd = {
+#if defined(CONFIG_PATA_PALMLD) || defined(CONFIG_PATA_PALMLD_MODULE)
+static struct platform_device palmld_ide_device = {
 	.name	= "pata_palmld",
 	.id	= -1,
 };
 
+static void __init palmld_ide_init(void)
+{
+	platform_device_register(&palmld_ide_device);
+}
+#else
+static inline void palmld_ide_init(void) {}
+#endif
+
 /******************************************************************************
  * Machine init
  ******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-	&palmld_pxa_keys,
-#endif
-	&palmld_leds,
-	&palmld_hdd,
-	&palmld_flash,
-};
-
 static struct map_desc palmld_io_desc[] __initdata = {
 {
 	.virtual	= PALMLD_IDE_VIRT,
@@ -300,8 +336,11 @@ static void __init palmld_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));
 	palm27x_common_init(&palmld);
-	pxa_set_keypad_info(&palmld_keypad_platform_data);
-	platform_add_devices(devices, ARRAY_SIZE(devices));
+	palmld_kpc_init();
+	palmld_keys_init();
+	palmld_nor_init();
+	palmld_leds_init();
+	palmld_ide_init();
 }
 
 MACHINE_START(PALMLD, "Palm LifeDrive")
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 26925fc..db2f8ab 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -106,6 +106,7 @@ static unsigned long palmt5_pin_config[] __initdata = {
 /******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
 static unsigned int palmt5_matrix_keys[] = {
 	KEY(0, 0, KEY_POWER),
 	KEY(0, 1, KEY_F1),
@@ -131,9 +132,18 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
 	.debounce_interval	= 30,
 };
 
+static void __init palmt5_kpc_init(void)
+{
+	pxa_set_keypad_info(&palmt5_keypad_platform_data);
+}
+#else
+static inline void palmt5_kpc_init(void) {}
+#endif
+
 /******************************************************************************
  * GPIO keys
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
 static struct gpio_keys_button palmt5_pxa_buttons[] = {
 	{KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 };
@@ -151,6 +161,14 @@ static struct platform_device palmt5_pxa_keys = {
 	},
 };
 
+static void __init palmt5_keys_init(void)
+{
+	platform_device_register(&palmt5_pxa_keys);
+}
+#else
+static inline void palmt5_keys_init(void) {}
+#endif
+
 /******************************************************************************
  * Machine init
  ******************************************************************************/
@@ -175,8 +193,8 @@ static void __init palmt5_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
 	palm27x_common_init(&palmt5);
-	pxa_set_keypad_info(&palmt5_keypad_platform_data);
-	platform_device_register(&palmt5_pxa_keys);
+	palmt5_kpc_init();
+	palmt5_keys_init();
 }
 
 MACHINE_START(PALMT5, "Palm Tungsten|T5")
diff --git a/arch/arm/mach-pxa/palmtreo.c b/arch/arm/mach-pxa/palmtreo.c
index dcb5f93..93c83d4 100644
--- a/arch/arm/mach-pxa/palmtreo.c
+++ b/arch/arm/mach-pxa/palmtreo.c
@@ -161,7 +161,7 @@ static unsigned long centro685_pin_config[] __initdata = {
 /******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
 static unsigned int treo680_matrix_keys[] = {
 	KEY(0, 0, KEY_F8),		/* Red/Off/Power */
 	KEY(0, 1, KEY_LEFT),
@@ -221,19 +221,6 @@ static unsigned int treo680_matrix_keys[] = {
 	KEY(7, 5, KEY_I),
 };
 
-static struct pxa27x_keypad_platform_data treo680_keypad_platform_data = {
-	.matrix_key_rows	= 8,
-	.matrix_key_cols	= 7,
-	.matrix_key_map		= treo680_matrix_keys,
-	.matrix_key_map_size	= ARRAY_SIZE(treo680_matrix_keys),
-	.direct_key_map		= { KEY_CONNECT },
-	.direct_key_num		= 1,
-
-	.debounce_interval	= 30,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
 static unsigned int centro_matrix_keys[] = {
 	KEY(0, 0, KEY_F9),		/* Home */
 	KEY(0, 1, KEY_LEFT),
@@ -293,28 +280,50 @@ static unsigned int centro_matrix_keys[] = {
 	KEY(7, 5, KEY_I),
 };
 
-static struct pxa27x_keypad_platform_data centro_keypad_platform_data = {
+static struct pxa27x_keypad_platform_data treo680_keypad_pdata = {
 	.matrix_key_rows	= 8,
 	.matrix_key_cols	= 7,
-	.matrix_key_map		= centro_matrix_keys,
-	.matrix_key_map_size	= ARRAY_SIZE(centro_matrix_keys),
+	.matrix_key_map		= treo680_matrix_keys,
+	.matrix_key_map_size	= ARRAY_SIZE(treo680_matrix_keys),
 	.direct_key_map		= { KEY_CONNECT },
 	.direct_key_num		= 1,
 
 	.debounce_interval	= 30,
 };
-#endif /* CONFIG_MACH_CENTRO */
+
+static void __init palmtreo_kpc_init(void)
+{
+	static struct pxa27x_keypad_platform_data *data = &treo680_keypad_pdata;
+
+	if (machine_is_centro()) {
+		data->matrix_key_map = centro_matrix_keys;
+		data->matrix_key_map_size = ARRAY_SIZE(centro_matrix_keys);
+	}
+
+	pxa_set_keypad_info(&treo680_keypad_pdata);
+}
+#else
+static inline void palmtreo_kpc_init(void) {}
+#endif
 
 /******************************************************************************
  * USB host
  ******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
+#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
 static struct pxaohci_platform_data treo680_ohci_info = {
 	.port_mode    = PMM_PERPORT_MODE,
 	.flags        = ENABLE_PORT1 | ENABLE_PORT3,
 	.power_budget = 0,
 };
-#endif /* CONFIG_MACH_TREO680 */
+
+static void __init palmtreo_uhc_init(void)
+{
+	if (machine_is_treo680())
+		pxa_set_ohci_info(&treo680_ohci_info);
+}
+#else
+static inline void palmtreo_uhc_init(void) {}
+#endif
 
 /******************************************************************************
  * Vibra and LEDs
@@ -343,16 +352,6 @@ static struct gpio_led_platform_data treo680_gpio_led_info = {
 	.num_leds	= ARRAY_SIZE(treo680_gpio_leds),
 };
 
-static struct platform_device treo680_leds = {
-	.name   = "leds-gpio",
-	.id     = -1,
-	.dev    = {
-		.platform_data  = &treo680_gpio_led_info,
-	}
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
 static struct gpio_led centro_gpio_leds[] = {
 	{
 		.name			= "centro:vibra:vibra",
@@ -377,31 +376,28 @@ static struct gpio_led_platform_data centro_gpio_led_info = {
 	.num_leds	= ARRAY_SIZE(centro_gpio_leds),
 };
 
-static struct platform_device centro_leds = {
+static struct platform_device palmtreo_leds = {
 	.name   = "leds-gpio",
 	.id     = -1,
 	.dev    = {
-		.platform_data  = &centro_gpio_led_info,
+		.platform_data  = &treo680_gpio_led_info,
 	}
 };
-#endif /* CONFIG_MACH_CENTRO */
+
+static void __init palmtreo_leds_init(void)
+{
+	if (machine_is_centro())
+		palmtreo_leds.dev.platform_data = &centro_gpio_led_info;
+
+	platform_device_register(&palmtreo_leds);
+}
+#else
+static inline void palmtreo_leds_init(void) {}
+#endif
 
 /******************************************************************************
  * Machine init
  ******************************************************************************/
-#ifdef CONFIG_MACH_TREO680
-static struct platform_device *treo680_devices[] __initdata = {
-	&treo680_leds,
-};
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
-static struct platform_device *centro_devices[] __initdata = {
-	&centro_leds,
-};
-#endif /* CONFIG_MACH_CENTRO */
-
-#ifdef CONFIG_MACH_TREO680
 struct palm27x_handheld palmtreo680 = {
 	.mmc_detect	= GPIO_NR_TREO_SD_DETECT_N,
 	.mmc_ro		= GPIO_NR_TREO680_SD_READONLY,
@@ -417,28 +413,6 @@ struct palm27x_handheld palmtreo680 = {
 	.lcd_power	= GPIO_NR_TREO_BL_POWER,
 };
 
-static void __init treo680_init(void)
-{
-	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
-	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
-	palm27x_common_init(&palmtreo680);
-	pxa_set_keypad_info(&treo680_keypad_platform_data);
-	pxa_set_ohci_info(&treo680_ohci_info);
-	platform_add_devices(ARRAY_AND_SIZE(treo680_devices));
-}
-
-MACHINE_START(TREO680, "Palm Treo 680")
-	.phys_io        = TREO_PHYS_IO_START,
-	.io_pg_offst    = io_p2v(0x40000000),
-	.boot_params    = 0xa0000100,
-	.map_io         = pxa_map_io,
-	.init_irq       = pxa27x_init_irq,
-	.timer          = &pxa_timer,
-	.init_machine   = treo680_init,
-MACHINE_END
-#endif /* CONFIG_MACH_TREO680 */
-
-#ifdef CONFIG_MACH_CENTRO
 struct palm27x_handheld palmcentro = {
 	.mmc_detect	= GPIO_NR_TREO_SD_DETECT_N,
 	.mmc_ro		= -1,
@@ -454,15 +428,33 @@ struct palm27x_handheld palmcentro = {
 	.lcd_power	= GPIO_NR_TREO_BL_POWER,
 };
 
-static void __init centro_init(void)
+static void __init palmtreo_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(treo_pin_config));
-	pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
-	palm27x_common_init(&palmcentro);
-	pxa_set_keypad_info(&centro_keypad_platform_data);
-	platform_add_devices(ARRAY_AND_SIZE(centro_devices));
+
+	if (machine_is_centro()) {
+		pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
+		palm27x_common_init(&palmcentro);
+	} else {
+		pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
+		palm27x_common_init(&palmtreo680);
+	}
+
+	palmtreo_kpc_init();
+	palmtreo_uhc_init();
+	palmtreo_leds_init();
 }
 
+MACHINE_START(TREO680, "Palm Treo 680")
+	.phys_io        = TREO_PHYS_IO_START,
+	.io_pg_offst    = io_p2v(0x40000000),
+	.boot_params    = 0xa0000100,
+	.map_io         = pxa_map_io,
+	.init_irq       = pxa27x_init_irq,
+	.timer          = &pxa_timer,
+	.init_machine   = palmtreo_init,
+MACHINE_END
+
 MACHINE_START(CENTRO, "Palm Centro 685")
 	.phys_io        = TREO_PHYS_IO_START,
 	.io_pg_offst    = io_p2v(0x40000000),
@@ -470,6 +462,5 @@ MACHINE_START(CENTRO, "Palm Centro 685")
 	.map_io         = pxa_map_io,
 	.init_irq       = pxa27x_init_irq,
 	.timer          = &pxa_timer,
-       .init_machine   = centro_init,
+       .init_machine	= palmtreo_init,
 MACHINE_END
-#endif /* CONFIG_MACH_CENTRO */
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index fe7ef08..03cab2f 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -130,6 +130,7 @@ static unsigned long palmtx_pin_config[] __initdata = {
 /******************************************************************************
  * NOR Flash
  ******************************************************************************/
+#if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
 static struct mtd_partition palmtx_partitions[] = {
 	{
 		.name		= "Flash",
@@ -163,9 +164,18 @@ static struct platform_device palmtx_flash = {
 	},
 };
 
+static void __init palmtx_nor_init(void)
+{
+	platform_device_register(&palmtx_flash);
+}
+#else
+static inline void palmtx_nor_init(void) {}
+#endif
+
 /******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
 static unsigned int palmtx_matrix_keys[] = {
 	KEY(0, 0, KEY_POWER),
 	KEY(0, 1, KEY_F1),
@@ -191,9 +201,18 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
 	.debounce_interval	= 30,
 };
 
+static void __init palmtx_kpc_init(void)
+{
+	pxa_set_keypad_info(&palmtx_keypad_platform_data);
+}
+#else
+static inline void palmtx_kpc_init(void) {}
+#endif
+
 /******************************************************************************
  * GPIO keys
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
 static struct gpio_keys_button palmtx_pxa_buttons[] = {
 	{KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 };
@@ -211,9 +230,18 @@ static struct platform_device palmtx_pxa_keys = {
 	},
 };
 
+static void __init palmtx_keys_init(void)
+{
+	platform_device_register(&palmtx_pxa_keys);
+}
+#else
+static inline void palmtx_keys_init(void) {}
+#endif
+
 /******************************************************************************
  * NAND Flash
  ******************************************************************************/
+#if defined(CONFIG_MTD_NAND_GPIO) || defined(CONFIG_MTD_NAND_GPIO_MODULE)
 static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
 				 unsigned int ctrl)
 {
@@ -273,18 +301,17 @@ static struct platform_device palmtx_nand = {
 	}
 };
 
+static void __init palmtx_nand_init(void)
+{
+	platform_device_register(&palmtx_nand);
+}
+#else
+static inline void palmtx_nand_init(void) {}
+#endif
 
 /******************************************************************************
  * Machine init
  ******************************************************************************/
-static struct platform_device *devices[] __initdata = {
-#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
-	&palmtx_pxa_keys,
-#endif
-	&palmtx_flash,
-	&palmtx_nand,
-};
-
 static struct map_desc palmtx_io_desc[] __initdata = {
 {
 	.virtual	= PALMTX_PCMCIA_VIRT,
@@ -331,8 +358,10 @@ static void __init palmtx_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
 	palm27x_common_init(&palmtx);
-	pxa_set_keypad_info(&palmtx_keypad_platform_data);
-	platform_add_devices(devices, ARRAY_SIZE(devices));
+	palmtx_kpc_init();
+	palmtx_keys_init();
+	palmtx_nor_init();
+	palmtx_nand_init();
 }
 
 MACHINE_START(PALMTX, "Palm T|X")
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index e66e911..b20b983 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -112,6 +112,7 @@ static unsigned long palmz72_pin_config[] __initdata = {
 /******************************************************************************
  * GPIO keyboard
  ******************************************************************************/
+#if defined(CONFIG_KEYBOARD_PXA27x) || defined(CONFIG_KEYBOARD_PXA27x_MODULE)
 static unsigned int palmz72_matrix_keys[] = {
 	KEY(0, 0, KEY_POWER),
 	KEY(0, 1, KEY_F1),
@@ -137,9 +138,18 @@ static struct pxa27x_keypad_platform_data palmz72_keypad_platform_data = {
 	.debounce_interval	= 30,
 };
 
+static void __init palmz72_kpc_init(void)
+{
+	pxa_set_keypad_info(&palmz72_keypad_platform_data);
+}
+#else
+static inline void palmz72_kpc_init(void) {}
+#endif
+
 /******************************************************************************
  * LEDs
  ******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
 static struct gpio_led gpio_leds[] = {
 	{
 		.name			= "palmz72:green:led",
@@ -161,6 +171,14 @@ static struct platform_device palmz72_leds = {
 	}
 };
 
+static void __init palmz72_leds_init(void)
+{
+	platform_device_register(&palmz72_leds);
+}
+#else
+static inline void palmz72_leds_init(void) {}
+#endif
+
 #ifdef CONFIG_PM
 
 /* We have some black magic here
@@ -254,8 +272,8 @@ static void __init palmz72_init(void)
 {
 	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmz72_pin_config));
 	palm27x_common_init(&palmz72);
-	pxa_set_keypad_info(&palmz72_keypad_platform_data);
-	platform_device_register(&palmz72_leds);
+	palmz72_kpc_init();
+	palmz72_leds_init();
 }
 
 MACHINE_START(PALMZ72, "Palm Zire72")
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
@ 2010-07-13  7:51 Marek Vasut
  0 siblings, 0 replies; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  7:51 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 arch/arm/mach-pxa/include/mach/palmld.h  |   58 ++++++++++++++--------------
 arch/arm/mach-pxa/include/mach/palmt5.h  |   30 +++++++-------
 arch/arm/mach-pxa/include/mach/palmtx.h  |   44 +++++++++++-----------
 arch/arm/mach-pxa/include/mach/palmz72.h |   28 +++++++-------
 arch/arm/mach-pxa/palmld.c               |   60 +++++++++++++++---------------
 arch/arm/mach-pxa/palmt5.c               |   52 +++++++++++++-------------
 arch/arm/mach-pxa/palmtx.c               |   52 +++++++++++++-------------
 arch/arm/mach-pxa/palmz72.c              |   60 +++++++++++++++---------------
 drivers/ata/pata_palmld.c                |   22 +++++-----
 drivers/pcmcia/pxa2xx_palmld.c           |   32 ++++++++--------
 drivers/pcmcia/pxa2xx_palmtx.c           |   42 ++++++++++----------
 11 files changed, 240 insertions(+), 240 deletions(-)
 create mode 100644 arch/arm/mach-pxa/palm27x.c
 create mode 100644 configs/config-colibri
 create mode 100644 configs/config-income
 create mode 100644 configs/config-littleton
 create mode 100644 configs/config-vpac270
 create mode 100644 configs/config-vpac270-minimal
 create mode 100644 configs/config-zaurus
 create mode 100644 configs/config-zipitz2

diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h
index ae536e8..8f9034d 100644
--- a/arch/arm/mach-pxa/include/mach/palmld.h
+++ b/arch/arm/mach-pxa/include/mach/palmld.h
@@ -16,55 +16,55 @@
 /** HERE ARE GPIOs **/
 
 /* GPIOs */
-#define GPIO_NR_PALMLD_GPIO_RESET	1
-#define GPIO_NR_PALMLD_POWER_DETECT	4
-#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N	10
-#define GPIO_NR_PALMLD_POWER_SWITCH	12
-#define GPIO_NR_PALMLD_EARPHONE_DETECT 	13
-#define GPIO_NR_PALMLD_LOCK_SWITCH	15
+#define GPIO1_PALMLD_GPIO_RESET		1
+#define GPIO4_PALMLD_POWER_DETECT	4
+#define GPIO10_PALMLD_HOTSYNC_BUTTON_N	10
+#define GPIO12_PALMLD_POWER_SWITCH	12
+#define GPIO13_PALMLD_EARPHONE_DETECT	13
+#define GPIO15_PALMLD_LOCK_SWITCH	15
 
 /* SD/MMC */
-#define GPIO_NR_PALMLD_SD_DETECT_N	14
-#define GPIO_NR_PALMLD_SD_POWER		114
-#define GPIO_NR_PALMLD_SD_READONLY	116
+#define GPIO14_PALMLD_SD_DETECT_N	14
+#define GPIO114_PALMLD_SD_POWER		114
+#define GPIO116_PALMLD_SD_READONLY	116
 
 /* TOUCHSCREEN */
-#define GPIO_NR_PALMLD_WM9712_IRQ	27
+#define GPIO27_PALMLD_WM9712_IRQ	27
 
 /* IRDA */
-#define GPIO_NR_PALMLD_IR_DISABLE	108
+#define GPIO108_PALMLD_IR_DISABLE	108
 
 /* LCD/BACKLIGHT */
-#define GPIO_NR_PALMLD_BL_POWER		19
-#define GPIO_NR_PALMLD_LCD_POWER	96
+#define GPIO19_PALMLD_BL_POWER		19
+#define GPIO96_PALMLD_LCD_POWER		96
 
 /* LCD BORDER */
-#define GPIO_NR_PALMLD_BORDER_SWITCH	21
-#define GPIO_NR_PALMLD_BORDER_SELECT	22
+#define GPIO21_PALMLD_BORDER_SWITCH	21
+#define GPIO22_PALMLD_BORDER_SELECT	22
 
 /* BLUETOOTH */
-#define GPIO_NR_PALMLD_BT_POWER		17
-#define GPIO_NR_PALMLD_BT_RESET		83
+#define GPIO17_PALMLD_BT_POWER		17
+#define GPIO83_PALMLD_BT_RESET		83
 
 /* PCMCIA (WiFi) */
-#define GPIO_NR_PALMLD_PCMCIA_READY	38
-#define GPIO_NR_PALMLD_PCMCIA_POWER	36
-#define GPIO_NR_PALMLD_PCMCIA_RESET	81
+#define GPIO38_PALMLD_PCMCIA_READY	38
+#define GPIO36_PALMLD_PCMCIA_POWER	36
+#define GPIO81_PALMLD_PCMCIA_RESET	81
 
 /* LEDs */
-#define GPIO_NR_PALMLD_LED_GREEN	52
-#define GPIO_NR_PALMLD_LED_AMBER	94
+#define GPIO52_PALMLD_LED_GREEN		52
+#define GPIO94_PALMLD_LED_AMBER		94
 
 /* IDE */
-#define GPIO_NR_PALMLD_IDE_RESET	98
-#define GPIO_NR_PALMLD_IDE_PWEN		115
+#define GPIO98_PALMLD_IDE_RESET		98
+#define GPIO115_PALMLD_IDE_PWEN		115
 
 /* USB */
-#define GPIO_NR_PALMLD_USB_DETECT_N	3
-#define GPIO_NR_PALMLD_USB_READY	86
-#define GPIO_NR_PALMLD_USB_RESET	88
-#define GPIO_NR_PALMLD_USB_INT		106
-#define GPIO_NR_PALMLD_USB_POWER	118
+#define GPIO3_PALMLD_USB_DETECT_N	3
+#define GPIO86_PALMLD_USB_READY		86
+#define GPIO88_PALMLD_USB_RESET		88
+#define GPIO106_PALMLD_USB_INT		106
+#define GPIO118_PALMLD_USB_POWER	118
 /* 20, 53 and 86 are usb related too */
 
 /* INTERRUPTS */
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h
index 6baf746..d70bb62 100644
--- a/arch/arm/mach-pxa/include/mach/palmt5.h
+++ b/arch/arm/mach-pxa/include/mach/palmt5.h
@@ -18,34 +18,34 @@
 /** HERE ARE GPIOs **/
 
 /* GPIOs */
-#define GPIO_NR_PALMT5_GPIO_RESET		1
+#define GPIO1_PALMT5_GPIO_RESET			1
 
-#define GPIO_NR_PALMT5_POWER_DETECT		90
-#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N		10
-#define GPIO_NR_PALMT5_EARPHONE_DETECT		107
+#define GPIO90_PALMT5_POWER_DETECT		90
+#define GPIO10_PALMT5_HOTSYNC_BUTTON_N		10
+#define GPIO107_PALMT5_EARPHONE_DETECT		107
 
 /* SD/MMC */
-#define GPIO_NR_PALMT5_SD_DETECT_N		14
-#define GPIO_NR_PALMT5_SD_POWER			114
-#define GPIO_NR_PALMT5_SD_READONLY		115
+#define GPIO14_PALMT5_SD_DETECT_N		14
+#define GPIO114_PALMT5_SD_POWER			114
+#define GPIO115_PALMT5_SD_READONLY		115
 
 /* TOUCHSCREEN */
-#define GPIO_NR_PALMT5_WM9712_IRQ		27
+#define GPIO27_PALMT5_WM9712_IRQ		27
 
 /* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMT5_IR_DISABLE		40
+#define GPIO40_PALMT5_IR_DISABLE		40
 
 /* USB */
-#define GPIO_NR_PALMT5_USB_DETECT_N		15
-#define GPIO_NR_PALMT5_USB_PULLUP		93
+#define GPIO15_PALMT5_USB_DETECT_N		15
+#define GPIO93_PALMT5_USB_PULLUP		93
 
 /* LCD/BACKLIGHT */
-#define GPIO_NR_PALMT5_BL_POWER			84
-#define GPIO_NR_PALMT5_LCD_POWER		96
+#define GPIO84_PALMT5_BL_POWER			84
+#define GPIO96_PALMT5_LCD_POWER			96
 
 /* BLUETOOTH */
-#define GPIO_NR_PALMT5_BT_POWER			17
-#define GPIO_NR_PALMT5_BT_RESET			83
+#define GPIO17_PALMT5_BT_POWER			17
+#define GPIO83_PALMT5_BT_RESET			83
 
 /* INTERRUPTS */
 #define IRQ_GPIO_PALMT5_SD_DETECT_N	IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
index 10abc4f..8b97b4d 100644
--- a/arch/arm/mach-pxa/include/mach/palmtx.h
+++ b/arch/arm/mach-pxa/include/mach/palmtx.h
@@ -19,47 +19,47 @@
 /** HERE ARE GPIOs **/
 
 /* GPIOs */
-#define GPIO_NR_PALMTX_GPIO_RESET		1
+#define GPIO1_PALMTX_GPIO_RESET			1
 
-#define GPIO_NR_PALMTX_POWER_DETECT		12 /* 90 */
-#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N		10
-#define GPIO_NR_PALMTX_EARPHONE_DETECT		107
+#define GPIO12_PALMTX_POWER_DETECT		12 /* 90 */
+#define GPIO10_PALMTX_HOTSYNC_BUTTON_N		10
+#define GPIO107_PALMTX_EARPHONE_DETECT		107
 
 /* SD/MMC */
-#define GPIO_NR_PALMTX_SD_DETECT_N		14
-#define GPIO_NR_PALMTX_SD_POWER			114 /* probably */
-#define GPIO_NR_PALMTX_SD_READONLY		115 /* probably */
+#define GPIO14_PALMTX_SD_DETECT_N		14
+#define GPIO114_PALMTX_SD_POWER			114 /* probably */
+#define GPIO115_PALMTX_SD_READONLY		115 /* probably */
 
 /* TOUCHSCREEN */
-#define GPIO_NR_PALMTX_WM9712_IRQ		27
+#define GPIO27_PALMTX_WM9712_IRQ		27
 
 /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMTX_IR_DISABLE		40
+#define GPIO40_PALMTX_IR_DISABLE		40
 
 /* USB */
-#define GPIO_NR_PALMTX_USB_DETECT_N		13
-#define GPIO_NR_PALMTX_USB_PULLUP		93
+#define GPIO13_PALMTX_USB_DETECT_N		13
+#define GPIO93_PALMTX_USB_PULLUP		93
 
 /* LCD/BACKLIGHT */
-#define GPIO_NR_PALMTX_BL_POWER			84
-#define GPIO_NR_PALMTX_LCD_POWER		96
+#define GPIO84_PALMTX_BL_POWER			84
+#define GPIO96_PALMTX_LCD_POWER			96
 
 /* LCD BORDER */
-#define GPIO_NR_PALMTX_BORDER_SWITCH		98
-#define GPIO_NR_PALMTX_BORDER_SELECT		22
+#define GPIO98_PALMTX_BORDER_SWITCH		98
+#define GPIO22_PALMTX_BORDER_SELECT		22
 
 /* BLUETOOTH */
-#define GPIO_NR_PALMTX_BT_POWER			17
-#define GPIO_NR_PALMTX_BT_RESET			83
+#define GPIO17_PALMTX_BT_POWER			17
+#define GPIO83_PALMTX_BT_RESET			83
 
 /* PCMCIA (WiFi) */
-#define GPIO_NR_PALMTX_PCMCIA_POWER1		94
-#define GPIO_NR_PALMTX_PCMCIA_POWER2		108
-#define GPIO_NR_PALMTX_PCMCIA_RESET		79
-#define GPIO_NR_PALMTX_PCMCIA_READY		116
+#define GPIO94_PALMTX_PCMCIA_POWER1		94
+#define GPIO108_PALMTX_PCMCIA_POWER2		108
+#define GPIO79_PALMTX_PCMCIA_RESET		79
+#define GPIO116_PALMTX_PCMCIA_READY		116
 
 /* NAND Flash ... this GPIO may be incorrect! */
-#define GPIO_NR_PALMTX_NAND_BUFFER_DIR		79
+#define GPIO79_PALMTX_NAND_BUFFER_DIR		79
 
 /* INTERRUPTS */
 #define IRQ_GPIO_PALMTX_SD_DETECT_N	IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N)
diff --git a/arch/arm/mach-pxa/include/mach/palmz72.h b/arch/arm/mach-pxa/include/mach/palmz72.h
index 2bbcf70..83dced5 100644
--- a/arch/arm/mach-pxa/include/mach/palmz72.h
+++ b/arch/arm/mach-pxa/include/mach/palmz72.h
@@ -15,34 +15,34 @@
 #define _INCLUDE_PALMZ72_H_
 
 /* Power and control */
-#define GPIO_NR_PALMZ72_GPIO_RESET		1
-#define GPIO_NR_PALMZ72_POWER_DETECT		0
+#define GPIO1_PALMZ72_GPIO_RESET		1
+#define GPIO0_PALMZ72_POWER_DETECT		0
 
 /* SD/MMC */
-#define GPIO_NR_PALMZ72_SD_DETECT_N		14
-#define GPIO_NR_PALMZ72_SD_POWER_N		98
-#define GPIO_NR_PALMZ72_SD_RO			115
+#define GPIO14_PALMZ72_SD_DETECT_N		14
+#define GPIO98_PALMZ72_SD_POWER_N		98
+#define GPIO115_PALMZ72_SD_RO			115
 
 /* Touchscreen */
-#define GPIO_NR_PALMZ72_WM9712_IRQ		27
+#define GPIO27_PALMZ72_WM9712_IRQ		27
 
 /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
-#define GPIO_NR_PALMZ72_IR_DISABLE		49
+#define GPIO49_PALMZ72_IR_DISABLE		49
 
 /* USB */
-#define GPIO_NR_PALMZ72_USB_DETECT_N		15
-#define GPIO_NR_PALMZ72_USB_PULLUP		95
+#define GPIO15_PALMZ72_USB_DETECT_N		15
+#define GPIO95_PALMZ72_USB_PULLUP		95
 
 /* LCD/Backlight */
-#define GPIO_NR_PALMZ72_BL_POWER		20
-#define GPIO_NR_PALMZ72_LCD_POWER		96
+#define GPIO20_PALMZ72_BL_POWER			20
+#define GPIO96_PALMZ72_LCD_POWER		96
 
 /* LED */
-#define GPIO_NR_PALMZ72_LED_GREEN		88
+#define GPIO88_PALMZ72_LED_GREEN		88
 
 /* Bluetooth */
-#define GPIO_NR_PALMZ72_BT_POWER		17
-#define GPIO_NR_PALMZ72_BT_RESET		83
+#define GPIO17_PALMZ72_BT_POWER			17
+#define GPIO83_PALMZ72_BT_RESET			83
 
 /** Initial values **/
 
diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
new file mode 100644
index 0000000..e69de29
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 83a1a55..bec35e2 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
  ******************************************************************************/
 static struct pxamci_platform_data palmld_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMLD_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMLD_SD_READONLY,
-	.gpio_power		= GPIO_NR_PALMLD_SD_POWER,
+	.gpio_card_detect	= GPIO14_PALMLD_SD_DETECT_N,
+	.gpio_card_ro		= GPIO116_PALMLD_SD_READONLY,
+	.gpio_power		= GPIO114_PALMLD_SD_POWER,
 	.detect_delay_ms	= 200,
 };
 
@@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
  * GPIO keys
  ******************************************************************************/
 static struct gpio_keys_button palmld_pxa_buttons[] = {
-	{KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
-	{KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
-	{KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
+	{KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+	{KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
+	{KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
 };
 
 static struct gpio_keys_platform_data palmld_pxa_keys_data = {
@@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+	gpio_free(GPIO96_PALMLD_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMLD_BL_POWER);
+	gpio_free(GPIO19_PALMLD_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmld_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
+	gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmld_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMLD_BL_POWER);
-	gpio_free(GPIO_NR_PALMLD_LCD_POWER);
+	gpio_free(GPIO19_PALMLD_BL_POWER);
+	gpio_free(GPIO96_PALMLD_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmld_backlight_data = {
@@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmld_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMLD_IR_DISABLE,
+	.gpio_pwdown		= GPIO108_PALMLD_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
 {
 	.name			= "palmld:green:led",
 	.default_trigger	= "none",
-	.gpio			= GPIO_NR_PALMLD_LED_GREEN,
+	.gpio			= GPIO52_PALMLD_LED_GREEN,
 }, {
 	.name			= "palmld:amber:led",
 	.default_trigger	= "none",
-	.gpio			= GPIO_NR_PALMLD_LED_AMBER,
+	.gpio			= GPIO94_PALMLD_LED_AMBER,
 },
 };
 
@@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
+	ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
+	ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
+	ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
 	if (ret)
 		goto err3;
 
 	return 0;
 
 err3:
-	gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
+	gpio_free(GPIO3_PALMLD_USB_DETECT_N);
 err2:
-	gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+	gpio_free(GPIO4_PALMLD_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmld_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
+	return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
 }
 
 static int palmld_is_usb_online(void)
 {
-	return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
+	return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
-	gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
+	gpio_free(GPIO3_PALMLD_USB_DETECT_N);
+	gpio_free(GPIO4_PALMLD_POWER_DETECT);
 }
 
 static char *palmld_supplicants[] = {
@@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
 };
 
 static struct palm27x_asoc_info palmld_asoc_pdata = {
-	.jack_gpio	= GPIO_NR_PALMLD_EARPHONE_DETECT,
+	.jack_gpio	= GPIO13_PALMLD_EARPHONE_DETECT,
 };
 
 static struct platform_device palmld_asoc = {
diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
index 0b36d7d..8037cfc 100644
--- a/arch/arm/mach-pxa/palmt5.c
+++ b/arch/arm/mach-pxa/palmt5.c
@@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata = {
  ******************************************************************************/
 static struct pxamci_platform_data palmt5_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMT5_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMT5_SD_READONLY,
-	.gpio_power		= GPIO_NR_PALMT5_SD_POWER,
+	.gpio_card_detect	= GPIO14_PALMT5_SD_DETECT_N,
+	.gpio_card_ro		= GPIO115_PALMT5_SD_READONLY,
+	.gpio_power		= GPIO114_PALMT5_SD_POWER,
 	.detect_delay_ms	= 200,
 };
 
@@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
  * GPIO keys
  ******************************************************************************/
 static struct gpio_keys_button palmt5_pxa_buttons[] = {
-	{KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+	{KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 };
 
 static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
@@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+	gpio_free(GPIO96_PALMT5_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMT5_BL_POWER);
+	gpio_free(GPIO84_PALMT5_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmt5_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
+	gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmt5_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMT5_BL_POWER);
-	gpio_free(GPIO_NR_PALMT5_LCD_POWER);
+	gpio_free(GPIO84_PALMT5_BL_POWER);
+	gpio_free(GPIO96_PALMT5_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmt5_backlight_data = {
@@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmt5_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMT5_IR_DISABLE,
+	.gpio_pwdown		= GPIO40_PALMT5_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -233,9 +233,9 @@ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
  * UDC
  ******************************************************************************/
 static struct gpio_vbus_mach_info palmt5_udc_info = {
-	.gpio_vbus		= GPIO_NR_PALMT5_USB_DETECT_N,
+	.gpio_vbus		= GPIO15_PALMT5_USB_DETECT_N,
 	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO_NR_PALMT5_USB_PULLUP,
+	.gpio_pullup		= GPIO93_PALMT5_USB_PULLUP,
 };
 
 static struct platform_device palmt5_gpio_vbus = {
@@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
+	ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
 	if (ret)
 		goto err2;
 
 	return 0;
 err2:
-	gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+	gpio_free(GPIO90_PALMT5_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmt5_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
+	return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
+	gpio_free(GPIO90_PALMT5_POWER_DETECT);
 }
 
 static char *palmt5_supplicants[] = {
@@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
 };
 
 static struct palm27x_asoc_info palmt5_asoc_pdata = {
-	.jack_gpio	= GPIO_NR_PALMT5_EARPHONE_DETECT,
+	.jack_gpio	= GPIO107_PALMT5_EARPHONE_DETECT,
 };
 
 static struct platform_device palmt5_asoc = {
@@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata = {
 /* setup udc GPIOs initial state */
 static void __init palmt5_udc_init(void)
 {
-	if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
-		gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
+	if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
+		gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
+		gpio_free(GPIO93_PALMT5_USB_PULLUP);
 	}
 }
 
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index a5429cd..a835034 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
  ******************************************************************************/
 static struct pxamci_platform_data palmtx_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMTX_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMTX_SD_READONLY,
-	.gpio_power		= GPIO_NR_PALMTX_SD_POWER,
+	.gpio_card_detect	= GPIO14_PALMTX_SD_DETECT_N,
+	.gpio_card_ro		= GPIO115_PALMTX_SD_READONLY,
+	.gpio_power		= GPIO114_PALMTX_SD_POWER,
 	.detect_delay_ms	= 200,
 };
 
@@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
  * GPIO keys
  ******************************************************************************/
 static struct gpio_keys_button palmtx_pxa_buttons[] = {
-	{KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
+	{KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
 };
 
 static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
@@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+	gpio_free(GPIO96_PALMTX_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMTX_BL_POWER);
+	gpio_free(GPIO84_PALMTX_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmtx_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
+	gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmtx_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMTX_BL_POWER);
-	gpio_free(GPIO_NR_PALMTX_LCD_POWER);
+	gpio_free(GPIO84_PALMTX_BL_POWER);
+	gpio_free(GPIO96_PALMTX_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmtx_backlight_data = {
@@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmtx_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMTX_IR_DISABLE,
+	.gpio_pwdown		= GPIO40_PALMTX_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -293,9 +293,9 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
  * UDC
  ******************************************************************************/
 static struct gpio_vbus_mach_info palmtx_udc_info = {
-	.gpio_vbus		= GPIO_NR_PALMTX_USB_DETECT_N,
+	.gpio_vbus		= GPIO13_PALMTX_USB_DETECT_N,
 	.gpio_vbus_inverted	= 1,
-	.gpio_pullup		= GPIO_NR_PALMTX_USB_PULLUP,
+	.gpio_pullup		= GPIO93_PALMTX_USB_PULLUP,
 };
 
 static struct platform_device palmtx_gpio_vbus = {
@@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
+	ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
 	if (ret)
 		goto err2;
 
 	return 0;
 
 err2:
-	gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+	gpio_free(GPIO12_PALMTX_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmtx_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
+	return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
+	gpio_free(GPIO12_PALMTX_POWER_DETECT);
 }
 
 static char *palmtx_supplicants[] = {
@@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
 };
 
 static struct palm27x_asoc_info palmtx_asoc_pdata = {
-	.jack_gpio	= GPIO_NR_PALMTX_EARPHONE_DETECT,
+	.jack_gpio	= GPIO107_PALMTX_EARPHONE_DETECT,
 };
 
 static struct platform_device palmtx_asoc = {
@@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
 /* setup udc GPIOs initial state */
 static void __init palmtx_udc_init(void)
 {
-	if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
-		gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
-		gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
+	if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
+		gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
+		gpio_free(GPIO93_PALMTX_USB_PULLUP);
 	}
 }
 
diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
index b78c6b4..91bc5a3 100644
--- a/arch/arm/mach-pxa/palmz72.c
+++ b/arch/arm/mach-pxa/palmz72.c
@@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata = {
  * select, i.e. it is inverted */
 static struct pxamci_platform_data palmz72_mci_platform_data = {
 	.ocr_mask		= MMC_VDD_32_33 | MMC_VDD_33_34,
-	.gpio_card_detect	= GPIO_NR_PALMZ72_SD_DETECT_N,
-	.gpio_card_ro		= GPIO_NR_PALMZ72_SD_RO,
-	.gpio_power		= GPIO_NR_PALMZ72_SD_POWER_N,
+	.gpio_card_detect	= GPIO14_PALMZ72_SD_DETECT_N,
+	.gpio_card_ro		= GPIO115_PALMZ72_SD_RO,
+	.gpio_power		= GPIO98_PALMZ72_SD_POWER_N,
 	.gpio_power_invert	= 1,
 };
 
@@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
+	ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
 	if (ret)
 		goto err;
-	ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
+	ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
 	if (ret)
 		goto err2;
-	ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
+	ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
+	ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+	gpio_free(GPIO96_PALMZ72_LCD_POWER);
 err2:
-	gpio_free(GPIO_NR_PALMZ72_BL_POWER);
+	gpio_free(GPIO20_PALMZ72_BL_POWER);
 err:
 	return ret;
 }
 
 static int palmz72_backlight_notify(struct device *dev, int brightness)
 {
-	gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
-	gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
+	gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
+	gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
 	return brightness;
 }
 
 static void palmz72_backlight_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMZ72_BL_POWER);
-	gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
+	gpio_free(GPIO20_PALMZ72_BL_POWER);
+	gpio_free(GPIO96_PALMZ72_LCD_POWER);
 }
 
 static struct platform_pwm_backlight_data palmz72_backlight_data = {
@@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
  * IrDA
  ******************************************************************************/
 static struct pxaficp_platform_data palmz72_ficp_platform_data = {
-	.gpio_pwdown		= GPIO_NR_PALMZ72_IR_DISABLE,
+	.gpio_pwdown		= GPIO49_PALMZ72_IR_DISABLE,
 	.transceiver_cap	= IR_SIRMODE | IR_OFF,
 };
 
@@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
 	{
 		.name			= "palmz72:green:led",
 		.default_trigger	= "none",
-		.gpio			= GPIO_NR_PALMZ72_LED_GREEN,
+		.gpio			= GPIO88_PALMZ72_LED_GREEN,
 	},
 };
 
@@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
  * UDC
  ******************************************************************************/
 static struct gpio_vbus_mach_info palmz72_udc_info = {
-	.gpio_vbus		= GPIO_NR_PALMZ72_USB_DETECT_N,
-	.gpio_pullup		= GPIO_NR_PALMZ72_USB_PULLUP,
+	.gpio_vbus		= GPIO15_PALMZ72_USB_DETECT_N,
+	.gpio_pullup		= GPIO95_PALMZ72_USB_PULLUP,
 };
 
 static struct platform_device palmz72_gpio_vbus = {
@@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
+	ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
+	ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
+	ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
+	ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
 	if (ret)
 		goto err3;
 
 	return 0;
 err3:
-	gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
+	gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
 err2:
-	gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+	gpio_free(GPIO0_PALMZ72_POWER_DETECT);
 err1:
 	return ret;
 }
 
 static int palmz72_is_ac_online(void)
 {
-	return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
+	return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
 }
 
 static int palmz72_is_usb_online(void)
 {
-	return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
+	return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
 }
 
 static void power_supply_exit(struct device *dev)
 {
-	gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
-	gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
+	gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
+	gpio_free(GPIO0_PALMZ72_POWER_DETECT);
 }
 
 static char *palmz72_supplicants[] = {
@@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata = {
 /* setup udc GPIOs initial state */
 static void __init palmz72_udc_init(void)
 {
-	if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
-		gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
-		gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
+	if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
+		gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
+		gpio_free(GPIO95_PALMZ72_USB_PULLUP);
 	}
 }
 
diff --git a/configs/config-colibri b/configs/config-colibri
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-income b/configs/config-income
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-littleton b/configs/config-littleton
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270 b/configs/config-vpac270
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-vpac270-minimal b/configs/config-vpac270-minimal
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zaurus b/configs/config-zaurus
new file mode 100644
index 0000000..e69de29
diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
new file mode 100644
index 0000000..e69de29
diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
index 11fb4cc..7ca74d6 100644
--- a/drivers/ata/pata_palmld.c
+++ b/drivers/ata/pata_palmld.c
@@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	/* request and activate power GPIO, IRQ GPIO */
-	ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
+	ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
+	ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
+	ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
+	ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
 	if (ret)
 		goto err3;
 
 	/* reset the drive */
-	gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
+	gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
 	msleep(30);
-	gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
+	gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
 	msleep(30);
 
 	/* setup the ata port */
@@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
 					&palmld_sht);
 
 err3:
-	gpio_free(GPIO_NR_PALMLD_IDE_RESET);
+	gpio_free(GPIO98_PALMLD_IDE_RESET);
 err2:
-	gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+	gpio_free(GPIO115_PALMLD_IDE_PWEN);
 err1:
 	return ret;
 }
@@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct platform_device *dev)
 	ata_host_detach(host);
 
 	/* power down the HDD */
-	gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
+	gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
 
-	gpio_free(GPIO_NR_PALMLD_IDE_RESET);
-	gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
+	gpio_free(GPIO98_PALMLD_IDE_RESET);
+	gpio_free(GPIO115_PALMLD_IDE_PWEN);
 
 	return 0;
 }
diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c
index 6fb6f7f..4317657 100644
--- a/drivers/pcmcia/pxa2xx_palmld.c
+++ b/drivers/pcmcia/pxa2xx_palmld.c
@@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
+	ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
+	ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
+	ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
+	ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
 	if (ret)
 		goto err3;
 
-	ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
+	ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
 	if (ret)
 		goto err3;
-	ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
+	ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
 	if (ret)
 		goto err4;
 
-	skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
+	skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
 	return 0;
 
 err4:
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
+	gpio_free(GPIO38_PALMLD_PCMCIA_READY);
 err3:
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
+	gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
 err2:
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+	gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
 err1:
 	return ret;
 }
 
 static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
 {
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
-	gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
+	gpio_free(GPIO38_PALMLD_PCMCIA_READY);
+	gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
+	gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
 }
 
 static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
 					struct pcmcia_state *state)
 {
 	state->detect = 1; /* always inserted */
-	state->ready  = !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
+	state->ready  = !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
 	state->bvd1   = 1;
 	state->bvd2   = 1;
 	state->wrprot = 0;
@@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
 static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
 					const socket_state_t *state)
 {
-	gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
-	gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
+	gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
+	gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
 			!!(state->flags & SS_RESET));
 
 	return 0;
diff --git a/drivers/pcmcia/pxa2xx_palmtx.c b/drivers/pcmcia/pxa2xx_palmtx.c
index b07b247..cc80531 100644
--- a/drivers/pcmcia/pxa2xx_palmtx.c
+++ b/drivers/pcmcia/pxa2xx_palmtx.c
@@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
 {
 	int ret;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
+	ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
 	if (ret)
 		goto err1;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
+	ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
 	if (ret)
 		goto err2;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
+	ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
 	if (ret)
 		goto err2;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
+	ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
 	if (ret)
 		goto err3;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
+	ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
 	if (ret)
 		goto err3;
-	ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
+	ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
 	if (ret)
 		goto err4;
 
-	ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
+	ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
 	if (ret)
 		goto err4;
-	ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
+	ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
 	if (ret)
 		goto err5;
 
-	skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
+	skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
 	return 0;
 
 err5:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
+	gpio_free(GPIO116_PALMTX_PCMCIA_READY);
 err4:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
+	gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
 err3:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
+	gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
 err2:
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+	gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
 err1:
 	return ret;
 }
 
 static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
 {
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
-	gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
+	gpio_free(GPIO116_PALMTX_PCMCIA_READY);
+	gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
+	gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
+	gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
 }
 
 static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
 					struct pcmcia_state *state)
 {
 	state->detect = 1; /* always inserted */
-	state->ready  = !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
+	state->ready  = !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
 	state->bvd1   = 1;
 	state->bvd2   = 1;
 	state->wrprot = 0;
@@ -92,9 +92,9 @@ static int
 palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
 				const socket_state_t *state)
 {
-	gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
-	gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
-	gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
+	gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
+	gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
+	gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
 			!!(state->flags & SS_RESET));
 
 	return 0;
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
  2010-07-13  7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
                   ` (3 preceding siblings ...)
  2010-07-13  7:38 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
@ 2010-07-13  8:10 ` Eric Miao
  2010-07-13  9:58   ` Marek Vasut
  4 siblings, 1 reply; 12+ messages in thread
From: Eric Miao @ 2010-07-13  8:10 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 13, 2010 at 3:38 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
> ?arch/arm/mach-pxa/include/mach/palmld.h ?| ? 58 ++++++++++++++--------------
> ?arch/arm/mach-pxa/include/mach/palmt5.h ?| ? 30 +++++++-------
> ?arch/arm/mach-pxa/include/mach/palmtx.h ?| ? 44 +++++++++++-----------
> ?arch/arm/mach-pxa/include/mach/palmz72.h | ? 28 +++++++-------

What's wrong with the original naming scheme?

> ?arch/arm/mach-pxa/palmld.c ? ? ? ? ? ? ? | ? 60 +++++++++++++++---------------
> ?arch/arm/mach-pxa/palmt5.c ? ? ? ? ? ? ? | ? 52 +++++++++++++-------------
> ?arch/arm/mach-pxa/palmtx.c ? ? ? ? ? ? ? | ? 52 +++++++++++++-------------
> ?arch/arm/mach-pxa/palmz72.c ? ? ? ? ? ? ?| ? 60 +++++++++++++++---------------
> ?drivers/ata/pata_palmld.c ? ? ? ? ? ? ? ?| ? 22 +++++-----
> ?drivers/pcmcia/pxa2xx_palmld.c ? ? ? ? ? | ? 32 ++++++++--------
> ?drivers/pcmcia/pxa2xx_palmtx.c ? ? ? ? ? | ? 42 ++++++++++----------
> ?11 files changed, 240 insertions(+), 240 deletions(-)
> ?create mode 100644 arch/arm/mach-pxa/palm27x.c
> ?create mode 100644 configs/config-colibri
> ?create mode 100644 configs/config-income
> ?create mode 100644 configs/config-littleton
> ?create mode 100644 configs/config-vpac270
> ?create mode 100644 configs/config-vpac270-minimal
> ?create mode 100644 configs/config-zaurus
> ?create mode 100644 configs/config-zipitz2

And what's this config crap for?

>
> diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h
> index ae536e8..8f9034d 100644
> --- a/arch/arm/mach-pxa/include/mach/palmld.h
> +++ b/arch/arm/mach-pxa/include/mach/palmld.h
> @@ -16,55 +16,55 @@
> ?/** HERE ARE GPIOs **/
>
> ?/* GPIOs */
> -#define GPIO_NR_PALMLD_GPIO_RESET ? ? ?1
> -#define GPIO_NR_PALMLD_POWER_DETECT ? ?4
> -#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N ? ? ? ?10
> -#define GPIO_NR_PALMLD_POWER_SWITCH ? ?12
> -#define GPIO_NR_PALMLD_EARPHONE_DETECT ? ? ? ? 13
> -#define GPIO_NR_PALMLD_LOCK_SWITCH ? ? 15
> +#define GPIO1_PALMLD_GPIO_RESET ? ? ? ? ? ? ? ?1
> +#define GPIO4_PALMLD_POWER_DETECT ? ? ?4
> +#define GPIO10_PALMLD_HOTSYNC_BUTTON_N 10
> +#define GPIO12_PALMLD_POWER_SWITCH ? ? 12
> +#define GPIO13_PALMLD_EARPHONE_DETECT ?13
> +#define GPIO15_PALMLD_LOCK_SWITCH ? ? ?15
>
> ?/* SD/MMC */
> -#define GPIO_NR_PALMLD_SD_DETECT_N ? ? 14
> -#define GPIO_NR_PALMLD_SD_POWER ? ? ? ? ? ? ? ?114
> -#define GPIO_NR_PALMLD_SD_READONLY ? ? 116
> +#define GPIO14_PALMLD_SD_DETECT_N ? ? ?14
> +#define GPIO114_PALMLD_SD_POWER ? ? ? ? ? ? ? ?114
> +#define GPIO116_PALMLD_SD_READONLY ? ? 116
>
> ?/* TOUCHSCREEN */
> -#define GPIO_NR_PALMLD_WM9712_IRQ ? ? ?27
> +#define GPIO27_PALMLD_WM9712_IRQ ? ? ? 27
>
> ?/* IRDA */
> -#define GPIO_NR_PALMLD_IR_DISABLE ? ? ?108
> +#define GPIO108_PALMLD_IR_DISABLE ? ? ?108
>
> ?/* LCD/BACKLIGHT */
> -#define GPIO_NR_PALMLD_BL_POWER ? ? ? ? ? ? ? ?19
> -#define GPIO_NR_PALMLD_LCD_POWER ? ? ? 96
> +#define GPIO19_PALMLD_BL_POWER ? ? ? ? 19
> +#define GPIO96_PALMLD_LCD_POWER ? ? ? ? ? ? ? ?96
>
> ?/* LCD BORDER */
> -#define GPIO_NR_PALMLD_BORDER_SWITCH ? 21
> -#define GPIO_NR_PALMLD_BORDER_SELECT ? 22
> +#define GPIO21_PALMLD_BORDER_SWITCH ? ?21
> +#define GPIO22_PALMLD_BORDER_SELECT ? ?22
>
> ?/* BLUETOOTH */
> -#define GPIO_NR_PALMLD_BT_POWER ? ? ? ? ? ? ? ?17
> -#define GPIO_NR_PALMLD_BT_RESET ? ? ? ? ? ? ? ?83
> +#define GPIO17_PALMLD_BT_POWER ? ? ? ? 17
> +#define GPIO83_PALMLD_BT_RESET ? ? ? ? 83
>
> ?/* PCMCIA (WiFi) */
> -#define GPIO_NR_PALMLD_PCMCIA_READY ? ?38
> -#define GPIO_NR_PALMLD_PCMCIA_POWER ? ?36
> -#define GPIO_NR_PALMLD_PCMCIA_RESET ? ?81
> +#define GPIO38_PALMLD_PCMCIA_READY ? ? 38
> +#define GPIO36_PALMLD_PCMCIA_POWER ? ? 36
> +#define GPIO81_PALMLD_PCMCIA_RESET ? ? 81
>
> ?/* LEDs */
> -#define GPIO_NR_PALMLD_LED_GREEN ? ? ? 52
> -#define GPIO_NR_PALMLD_LED_AMBER ? ? ? 94
> +#define GPIO52_PALMLD_LED_GREEN ? ? ? ? ? ? ? ?52
> +#define GPIO94_PALMLD_LED_AMBER ? ? ? ? ? ? ? ?94
>
> ?/* IDE */
> -#define GPIO_NR_PALMLD_IDE_RESET ? ? ? 98
> -#define GPIO_NR_PALMLD_IDE_PWEN ? ? ? ? ? ? ? ?115
> +#define GPIO98_PALMLD_IDE_RESET ? ? ? ? ? ? ? ?98
> +#define GPIO115_PALMLD_IDE_PWEN ? ? ? ? ? ? ? ?115
>
> ?/* USB */
> -#define GPIO_NR_PALMLD_USB_DETECT_N ? ?3
> -#define GPIO_NR_PALMLD_USB_READY ? ? ? 86
> -#define GPIO_NR_PALMLD_USB_RESET ? ? ? 88
> -#define GPIO_NR_PALMLD_USB_INT ? ? ? ? 106
> -#define GPIO_NR_PALMLD_USB_POWER ? ? ? 118
> +#define GPIO3_PALMLD_USB_DETECT_N ? ? ?3
> +#define GPIO86_PALMLD_USB_READY ? ? ? ? ? ? ? ?86
> +#define GPIO88_PALMLD_USB_RESET ? ? ? ? ? ? ? ?88
> +#define GPIO106_PALMLD_USB_INT ? ? ? ? 106
> +#define GPIO118_PALMLD_USB_POWER ? ? ? 118
> ?/* 20, 53 and 86 are usb related too */
>
> ?/* INTERRUPTS */
> diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h
> index 6baf746..d70bb62 100644
> --- a/arch/arm/mach-pxa/include/mach/palmt5.h
> +++ b/arch/arm/mach-pxa/include/mach/palmt5.h
> @@ -18,34 +18,34 @@
> ?/** HERE ARE GPIOs **/
>
> ?/* GPIOs */
> -#define GPIO_NR_PALMT5_GPIO_RESET ? ? ? ? ? ? ?1
> +#define GPIO1_PALMT5_GPIO_RESET ? ? ? ? ? ? ? ? ? ? ? ?1
>
> -#define GPIO_NR_PALMT5_POWER_DETECT ? ? ? ? ? ?90
> -#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N ? ? ? ? ? ? ? ?10
> -#define GPIO_NR_PALMT5_EARPHONE_DETECT ? ? ? ? 107
> +#define GPIO90_PALMT5_POWER_DETECT ? ? ? ? ? ? 90
> +#define GPIO10_PALMT5_HOTSYNC_BUTTON_N ? ? ? ? 10
> +#define GPIO107_PALMT5_EARPHONE_DETECT ? ? ? ? 107
>
> ?/* SD/MMC */
> -#define GPIO_NR_PALMT5_SD_DETECT_N ? ? ? ? ? ? 14
> -#define GPIO_NR_PALMT5_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114
> -#define GPIO_NR_PALMT5_SD_READONLY ? ? ? ? ? ? 115
> +#define GPIO14_PALMT5_SD_DETECT_N ? ? ? ? ? ? ?14
> +#define GPIO114_PALMT5_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114
> +#define GPIO115_PALMT5_SD_READONLY ? ? ? ? ? ? 115
>
> ?/* TOUCHSCREEN */
> -#define GPIO_NR_PALMT5_WM9712_IRQ ? ? ? ? ? ? ?27
> +#define GPIO27_PALMT5_WM9712_IRQ ? ? ? ? ? ? ? 27
>
> ?/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
> -#define GPIO_NR_PALMT5_IR_DISABLE ? ? ? ? ? ? ?40
> +#define GPIO40_PALMT5_IR_DISABLE ? ? ? ? ? ? ? 40
>
> ?/* USB */
> -#define GPIO_NR_PALMT5_USB_DETECT_N ? ? ? ? ? ?15
> -#define GPIO_NR_PALMT5_USB_PULLUP ? ? ? ? ? ? ?93
> +#define GPIO15_PALMT5_USB_DETECT_N ? ? ? ? ? ? 15
> +#define GPIO93_PALMT5_USB_PULLUP ? ? ? ? ? ? ? 93
>
> ?/* LCD/BACKLIGHT */
> -#define GPIO_NR_PALMT5_BL_POWER ? ? ? ? ? ? ? ? ? ? ? ?84
> -#define GPIO_NR_PALMT5_LCD_POWER ? ? ? ? ? ? ? 96
> +#define GPIO84_PALMT5_BL_POWER ? ? ? ? ? ? ? ? 84
> +#define GPIO96_PALMT5_LCD_POWER ? ? ? ? ? ? ? ? ? ? ? ?96
>
> ?/* BLUETOOTH */
> -#define GPIO_NR_PALMT5_BT_POWER ? ? ? ? ? ? ? ? ? ? ? ?17
> -#define GPIO_NR_PALMT5_BT_RESET ? ? ? ? ? ? ? ? ? ? ? ?83
> +#define GPIO17_PALMT5_BT_POWER ? ? ? ? ? ? ? ? 17
> +#define GPIO83_PALMT5_BT_RESET ? ? ? ? ? ? ? ? 83
>
> ?/* INTERRUPTS */
> ?#define IRQ_GPIO_PALMT5_SD_DETECT_N ? ?IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N)
> diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
> index 10abc4f..8b97b4d 100644
> --- a/arch/arm/mach-pxa/include/mach/palmtx.h
> +++ b/arch/arm/mach-pxa/include/mach/palmtx.h
> @@ -19,47 +19,47 @@
> ?/** HERE ARE GPIOs **/
>
> ?/* GPIOs */
> -#define GPIO_NR_PALMTX_GPIO_RESET ? ? ? ? ? ? ?1
> +#define GPIO1_PALMTX_GPIO_RESET ? ? ? ? ? ? ? ? ? ? ? ?1
>
> -#define GPIO_NR_PALMTX_POWER_DETECT ? ? ? ? ? ?12 /* 90 */
> -#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N ? ? ? ? ? ? ? ?10
> -#define GPIO_NR_PALMTX_EARPHONE_DETECT ? ? ? ? 107
> +#define GPIO12_PALMTX_POWER_DETECT ? ? ? ? ? ? 12 /* 90 */
> +#define GPIO10_PALMTX_HOTSYNC_BUTTON_N ? ? ? ? 10
> +#define GPIO107_PALMTX_EARPHONE_DETECT ? ? ? ? 107
>
> ?/* SD/MMC */
> -#define GPIO_NR_PALMTX_SD_DETECT_N ? ? ? ? ? ? 14
> -#define GPIO_NR_PALMTX_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114 /* probably */
> -#define GPIO_NR_PALMTX_SD_READONLY ? ? ? ? ? ? 115 /* probably */
> +#define GPIO14_PALMTX_SD_DETECT_N ? ? ? ? ? ? ?14
> +#define GPIO114_PALMTX_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114 /* probably */
> +#define GPIO115_PALMTX_SD_READONLY ? ? ? ? ? ? 115 /* probably */
>
> ?/* TOUCHSCREEN */
> -#define GPIO_NR_PALMTX_WM9712_IRQ ? ? ? ? ? ? ?27
> +#define GPIO27_PALMTX_WM9712_IRQ ? ? ? ? ? ? ? 27
>
> ?/* IRDA - ?disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
> -#define GPIO_NR_PALMTX_IR_DISABLE ? ? ? ? ? ? ?40
> +#define GPIO40_PALMTX_IR_DISABLE ? ? ? ? ? ? ? 40
>
> ?/* USB */
> -#define GPIO_NR_PALMTX_USB_DETECT_N ? ? ? ? ? ?13
> -#define GPIO_NR_PALMTX_USB_PULLUP ? ? ? ? ? ? ?93
> +#define GPIO13_PALMTX_USB_DETECT_N ? ? ? ? ? ? 13
> +#define GPIO93_PALMTX_USB_PULLUP ? ? ? ? ? ? ? 93
>
> ?/* LCD/BACKLIGHT */
> -#define GPIO_NR_PALMTX_BL_POWER ? ? ? ? ? ? ? ? ? ? ? ?84
> -#define GPIO_NR_PALMTX_LCD_POWER ? ? ? ? ? ? ? 96
> +#define GPIO84_PALMTX_BL_POWER ? ? ? ? ? ? ? ? 84
> +#define GPIO96_PALMTX_LCD_POWER ? ? ? ? ? ? ? ? ? ? ? ?96
>
> ?/* LCD BORDER */
> -#define GPIO_NR_PALMTX_BORDER_SWITCH ? ? ? ? ? 98
> -#define GPIO_NR_PALMTX_BORDER_SELECT ? ? ? ? ? 22
> +#define GPIO98_PALMTX_BORDER_SWITCH ? ? ? ? ? ?98
> +#define GPIO22_PALMTX_BORDER_SELECT ? ? ? ? ? ?22
>
> ?/* BLUETOOTH */
> -#define GPIO_NR_PALMTX_BT_POWER ? ? ? ? ? ? ? ? ? ? ? ?17
> -#define GPIO_NR_PALMTX_BT_RESET ? ? ? ? ? ? ? ? ? ? ? ?83
> +#define GPIO17_PALMTX_BT_POWER ? ? ? ? ? ? ? ? 17
> +#define GPIO83_PALMTX_BT_RESET ? ? ? ? ? ? ? ? 83
>
> ?/* PCMCIA (WiFi) */
> -#define GPIO_NR_PALMTX_PCMCIA_POWER1 ? ? ? ? ? 94
> -#define GPIO_NR_PALMTX_PCMCIA_POWER2 ? ? ? ? ? 108
> -#define GPIO_NR_PALMTX_PCMCIA_RESET ? ? ? ? ? ?79
> -#define GPIO_NR_PALMTX_PCMCIA_READY ? ? ? ? ? ?116
> +#define GPIO94_PALMTX_PCMCIA_POWER1 ? ? ? ? ? ?94
> +#define GPIO108_PALMTX_PCMCIA_POWER2 ? ? ? ? ? 108
> +#define GPIO79_PALMTX_PCMCIA_RESET ? ? ? ? ? ? 79
> +#define GPIO116_PALMTX_PCMCIA_READY ? ? ? ? ? ?116
>
> ?/* NAND Flash ... this GPIO may be incorrect! */
> -#define GPIO_NR_PALMTX_NAND_BUFFER_DIR ? ? ? ? 79
> +#define GPIO79_PALMTX_NAND_BUFFER_DIR ? ? ? ? ?79
>
> ?/* INTERRUPTS */
> ?#define IRQ_GPIO_PALMTX_SD_DETECT_N ? ?IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N)
> diff --git a/arch/arm/mach-pxa/include/mach/palmz72.h b/arch/arm/mach-pxa/include/mach/palmz72.h
> index 2bbcf70..83dced5 100644
> --- a/arch/arm/mach-pxa/include/mach/palmz72.h
> +++ b/arch/arm/mach-pxa/include/mach/palmz72.h
> @@ -15,34 +15,34 @@
> ?#define _INCLUDE_PALMZ72_H_
>
> ?/* Power and control */
> -#define GPIO_NR_PALMZ72_GPIO_RESET ? ? ? ? ? ? 1
> -#define GPIO_NR_PALMZ72_POWER_DETECT ? ? ? ? ? 0
> +#define GPIO1_PALMZ72_GPIO_RESET ? ? ? ? ? ? ? 1
> +#define GPIO0_PALMZ72_POWER_DETECT ? ? ? ? ? ? 0
>
> ?/* SD/MMC */
> -#define GPIO_NR_PALMZ72_SD_DETECT_N ? ? ? ? ? ?14
> -#define GPIO_NR_PALMZ72_SD_POWER_N ? ? ? ? ? ? 98
> -#define GPIO_NR_PALMZ72_SD_RO ? ? ? ? ? ? ? ? ?115
> +#define GPIO14_PALMZ72_SD_DETECT_N ? ? ? ? ? ? 14
> +#define GPIO98_PALMZ72_SD_POWER_N ? ? ? ? ? ? ?98
> +#define GPIO115_PALMZ72_SD_RO ? ? ? ? ? ? ? ? ?115
>
> ?/* Touchscreen */
> -#define GPIO_NR_PALMZ72_WM9712_IRQ ? ? ? ? ? ? 27
> +#define GPIO27_PALMZ72_WM9712_IRQ ? ? ? ? ? ? ?27
>
> ?/* IRDA - ?disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
> -#define GPIO_NR_PALMZ72_IR_DISABLE ? ? ? ? ? ? 49
> +#define GPIO49_PALMZ72_IR_DISABLE ? ? ? ? ? ? ?49
>
> ?/* USB */
> -#define GPIO_NR_PALMZ72_USB_DETECT_N ? ? ? ? ? 15
> -#define GPIO_NR_PALMZ72_USB_PULLUP ? ? ? ? ? ? 95
> +#define GPIO15_PALMZ72_USB_DETECT_N ? ? ? ? ? ?15
> +#define GPIO95_PALMZ72_USB_PULLUP ? ? ? ? ? ? ?95
>
> ?/* LCD/Backlight */
> -#define GPIO_NR_PALMZ72_BL_POWER ? ? ? ? ? ? ? 20
> -#define GPIO_NR_PALMZ72_LCD_POWER ? ? ? ? ? ? ?96
> +#define GPIO20_PALMZ72_BL_POWER ? ? ? ? ? ? ? ? ? ? ? ?20
> +#define GPIO96_PALMZ72_LCD_POWER ? ? ? ? ? ? ? 96
>
> ?/* LED */
> -#define GPIO_NR_PALMZ72_LED_GREEN ? ? ? ? ? ? ?88
> +#define GPIO88_PALMZ72_LED_GREEN ? ? ? ? ? ? ? 88
>
> ?/* Bluetooth */
> -#define GPIO_NR_PALMZ72_BT_POWER ? ? ? ? ? ? ? 17
> -#define GPIO_NR_PALMZ72_BT_RESET ? ? ? ? ? ? ? 83
> +#define GPIO17_PALMZ72_BT_POWER ? ? ? ? ? ? ? ? ? ? ? ?17
> +#define GPIO83_PALMZ72_BT_RESET ? ? ? ? ? ? ? ? ? ? ? ?83
>
> ?/** Initial values **/
>
> diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
> new file mode 100644
> index 0000000..e69de29
> diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
> index 83a1a55..bec35e2 100644
> --- a/arch/arm/mach-pxa/palmld.c
> +++ b/arch/arm/mach-pxa/palmld.c
> @@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
> ?******************************************************************************/
> ?static struct pxamci_platform_data palmld_mci_platform_data = {
> ? ? ? ?.ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
> - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMLD_SD_DETECT_N,
> - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMLD_SD_READONLY,
> - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMLD_SD_POWER,
> + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMLD_SD_DETECT_N,
> + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO116_PALMLD_SD_READONLY,
> + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO114_PALMLD_SD_POWER,
> ? ? ? ?.detect_delay_ms ? ? ? ?= 200,
> ?};
>
> @@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data palmld_keypad_platform_data = {
> ?* GPIO keys
> ?******************************************************************************/
> ?static struct gpio_keys_button palmld_pxa_buttons[] = {
> - ? ? ? {KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> - ? ? ? {KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
> - ? ? ? {KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
> + ? ? ? {KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> + ? ? ? {KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
> + ? ? ? {KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
> ?};
>
> ?static struct gpio_keys_platform_data palmld_pxa_keys_data = {
> @@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
> + ? ? ? ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
> + ? ? ? ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?return 0;
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_LCD_POWER);
> + ? ? ? gpio_free(GPIO96_PALMLD_LCD_POWER);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_BL_POWER);
> + ? ? ? gpio_free(GPIO19_PALMLD_BL_POWER);
> ?err:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmld_backlight_notify(struct device *dev, int brightness)
> ?{
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
> ? ? ? ?return brightness;
> ?}
>
> ?static void palmld_backlight_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMLD_BL_POWER);
> - ? ? ? gpio_free(GPIO_NR_PALMLD_LCD_POWER);
> + ? ? ? gpio_free(GPIO19_PALMLD_BL_POWER);
> + ? ? ? gpio_free(GPIO96_PALMLD_LCD_POWER);
> ?}
>
> ?static struct platform_pwm_backlight_data palmld_backlight_data = {
> @@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
> ?* IrDA
> ?******************************************************************************/
> ?static struct pxaficp_platform_data palmld_ficp_platform_data = {
> - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMLD_IR_DISABLE,
> + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO108_PALMLD_IR_DISABLE,
> ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
> ?};
>
> @@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
> ?{
> ? ? ? ?.name ? ? ? ? ? ? ? ? ? = "palmld:green:led",
> ? ? ? ?.default_trigger ? ? ? ?= "none",
> - ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO_NR_PALMLD_LED_GREEN,
> + ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO52_PALMLD_LED_GREEN,
> ?}, {
> ? ? ? ?.name ? ? ? ? ? ? ? ? ? = "palmld:amber:led",
> ? ? ? ?.default_trigger ? ? ? ?= "none",
> - ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO_NR_PALMLD_LED_AMBER,
> + ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO94_PALMLD_LED_AMBER,
> ?},
> ?};
>
> @@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
> + ? ? ? ret = gpio_request(GPIO4_PALMLD_POWER_DETECT, "CABLE_STATE_AC");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
> + ? ? ? ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
> + ? ? ? ret = gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
> + ? ? ? ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?return 0;
>
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
> + ? ? ? gpio_free(GPIO3_PALMLD_USB_DETECT_N);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
> + ? ? ? gpio_free(GPIO4_PALMLD_POWER_DETECT);
> ?err1:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmld_is_ac_online(void)
> ?{
> - ? ? ? return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
> + ? ? ? return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
> ?}
>
> ?static int palmld_is_usb_online(void)
> ?{
> - ? ? ? return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
> + ? ? ? return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
> ?}
>
> ?static void power_supply_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
> - ? ? ? gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
> + ? ? ? gpio_free(GPIO3_PALMLD_USB_DETECT_N);
> + ? ? ? gpio_free(GPIO4_PALMLD_POWER_DETECT);
> ?}
>
> ?static char *palmld_supplicants[] = {
> @@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
> ?};
>
> ?static struct palm27x_asoc_info palmld_asoc_pdata = {
> - ? ? ? .jack_gpio ? ? ?= GPIO_NR_PALMLD_EARPHONE_DETECT,
> + ? ? ? .jack_gpio ? ? ?= GPIO13_PALMLD_EARPHONE_DETECT,
> ?};
>
> ?static struct platform_device palmld_asoc = {
> diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
> index 0b36d7d..8037cfc 100644
> --- a/arch/arm/mach-pxa/palmt5.c
> +++ b/arch/arm/mach-pxa/palmt5.c
> @@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata = {
> ?******************************************************************************/
> ?static struct pxamci_platform_data palmt5_mci_platform_data = {
> ? ? ? ?.ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
> - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMT5_SD_DETECT_N,
> - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMT5_SD_READONLY,
> - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMT5_SD_POWER,
> + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMT5_SD_DETECT_N,
> + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO115_PALMT5_SD_READONLY,
> + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO114_PALMT5_SD_POWER,
> ? ? ? ?.detect_delay_ms ? ? ? ?= 200,
> ?};
>
> @@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data palmt5_keypad_platform_data = {
> ?* GPIO keys
> ?******************************************************************************/
> ?static struct gpio_keys_button palmt5_pxa_buttons[] = {
> - ? ? ? {KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> + ? ? ? {KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> ?};
>
> ?static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
> @@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
> + ? ? ? ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
> + ? ? ? ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?return 0;
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMT5_LCD_POWER);
> + ? ? ? gpio_free(GPIO96_PALMT5_LCD_POWER);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMT5_BL_POWER);
> + ? ? ? gpio_free(GPIO84_PALMT5_BL_POWER);
> ?err:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmt5_backlight_notify(struct device *dev, int brightness)
> ?{
> - ? ? ? gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
> - ? ? ? gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
> ? ? ? ?return brightness;
> ?}
>
> ?static void palmt5_backlight_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMT5_BL_POWER);
> - ? ? ? gpio_free(GPIO_NR_PALMT5_LCD_POWER);
> + ? ? ? gpio_free(GPIO84_PALMT5_BL_POWER);
> + ? ? ? gpio_free(GPIO96_PALMT5_LCD_POWER);
> ?}
>
> ?static struct platform_pwm_backlight_data palmt5_backlight_data = {
> @@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
> ?* IrDA
> ?******************************************************************************/
> ?static struct pxaficp_platform_data palmt5_ficp_platform_data = {
> - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMT5_IR_DISABLE,
> + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO40_PALMT5_IR_DISABLE,
> ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
> ?};
>
> @@ -233,9 +233,9 @@ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
> ?* UDC
> ?******************************************************************************/
> ?static struct gpio_vbus_mach_info palmt5_udc_info = {
> - ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO_NR_PALMT5_USB_DETECT_N,
> + ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO15_PALMT5_USB_DETECT_N,
> ? ? ? ?.gpio_vbus_inverted ? ? = 1,
> - ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO_NR_PALMT5_USB_PULLUP,
> + ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO93_PALMT5_USB_PULLUP,
> ?};
>
> ?static struct platform_device palmt5_gpio_vbus = {
> @@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
> + ? ? ? ret = gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
> + ? ? ? ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> ? ? ? ?return 0;
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
> + ? ? ? gpio_free(GPIO90_PALMT5_POWER_DETECT);
> ?err1:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmt5_is_ac_online(void)
> ?{
> - ? ? ? return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
> + ? ? ? return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
> ?}
>
> ?static void power_supply_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
> + ? ? ? gpio_free(GPIO90_PALMT5_POWER_DETECT);
> ?}
>
> ?static char *palmt5_supplicants[] = {
> @@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
> ?};
>
> ?static struct palm27x_asoc_info palmt5_asoc_pdata = {
> - ? ? ? .jack_gpio ? ? ?= GPIO_NR_PALMT5_EARPHONE_DETECT,
> + ? ? ? .jack_gpio ? ? ?= GPIO107_PALMT5_EARPHONE_DETECT,
> ?};
>
> ?static struct platform_device palmt5_asoc = {
> @@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata = {
> ?/* setup udc GPIOs initial state */
> ?static void __init palmt5_udc_init(void)
> ?{
> - ? ? ? if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
> - ? ? ? ? ? ? ? gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
> - ? ? ? ? ? ? ? gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
> + ? ? ? if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
> + ? ? ? ? ? ? ? gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
> + ? ? ? ? ? ? ? gpio_free(GPIO93_PALMT5_USB_PULLUP);
> ? ? ? ?}
> ?}
>
> diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
> index a5429cd..a835034 100644
> --- a/arch/arm/mach-pxa/palmtx.c
> +++ b/arch/arm/mach-pxa/palmtx.c
> @@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
> ?******************************************************************************/
> ?static struct pxamci_platform_data palmtx_mci_platform_data = {
> ? ? ? ?.ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
> - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMTX_SD_DETECT_N,
> - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMTX_SD_READONLY,
> - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMTX_SD_POWER,
> + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMTX_SD_DETECT_N,
> + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO115_PALMTX_SD_READONLY,
> + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO114_PALMTX_SD_POWER,
> ? ? ? ?.detect_delay_ms ? ? ? ?= 200,
> ?};
>
> @@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
> ?* GPIO keys
> ?******************************************************************************/
> ?static struct gpio_keys_button palmtx_pxa_buttons[] = {
> - ? ? ? {KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> + ? ? ? {KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> ?};
>
> ?static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
> @@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
> + ? ? ? ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
> + ? ? ? ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?return 0;
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_LCD_POWER);
> + ? ? ? gpio_free(GPIO96_PALMTX_LCD_POWER);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_BL_POWER);
> + ? ? ? gpio_free(GPIO84_PALMTX_BL_POWER);
> ?err:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmtx_backlight_notify(struct device *dev, int brightness)
> ?{
> - ? ? ? gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
> - ? ? ? gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
> ? ? ? ?return brightness;
> ?}
>
> ?static void palmtx_backlight_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMTX_BL_POWER);
> - ? ? ? gpio_free(GPIO_NR_PALMTX_LCD_POWER);
> + ? ? ? gpio_free(GPIO84_PALMTX_BL_POWER);
> + ? ? ? gpio_free(GPIO96_PALMTX_LCD_POWER);
> ?}
>
> ?static struct platform_pwm_backlight_data palmtx_backlight_data = {
> @@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
> ?* IrDA
> ?******************************************************************************/
> ?static struct pxaficp_platform_data palmtx_ficp_platform_data = {
> - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMTX_IR_DISABLE,
> + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO40_PALMTX_IR_DISABLE,
> ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
> ?};
>
> @@ -293,9 +293,9 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
> ?* UDC
> ?******************************************************************************/
> ?static struct gpio_vbus_mach_info palmtx_udc_info = {
> - ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO_NR_PALMTX_USB_DETECT_N,
> + ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO13_PALMTX_USB_DETECT_N,
> ? ? ? ?.gpio_vbus_inverted ? ? = 1,
> - ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO_NR_PALMTX_USB_PULLUP,
> + ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO93_PALMTX_USB_PULLUP,
> ?};
>
> ?static struct platform_device palmtx_gpio_vbus = {
> @@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
> + ? ? ? ret = gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
> + ? ? ? ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> ? ? ? ?return 0;
>
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
> + ? ? ? gpio_free(GPIO12_PALMTX_POWER_DETECT);
> ?err1:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmtx_is_ac_online(void)
> ?{
> - ? ? ? return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
> + ? ? ? return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
> ?}
>
> ?static void power_supply_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
> + ? ? ? gpio_free(GPIO12_PALMTX_POWER_DETECT);
> ?}
>
> ?static char *palmtx_supplicants[] = {
> @@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
> ?};
>
> ?static struct palm27x_asoc_info palmtx_asoc_pdata = {
> - ? ? ? .jack_gpio ? ? ?= GPIO_NR_PALMTX_EARPHONE_DETECT,
> + ? ? ? .jack_gpio ? ? ?= GPIO107_PALMTX_EARPHONE_DETECT,
> ?};
>
> ?static struct platform_device palmtx_asoc = {
> @@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
> ?/* setup udc GPIOs initial state */
> ?static void __init palmtx_udc_init(void)
> ?{
> - ? ? ? if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
> - ? ? ? ? ? ? ? gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
> - ? ? ? ? ? ? ? gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
> + ? ? ? if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
> + ? ? ? ? ? ? ? gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
> + ? ? ? ? ? ? ? gpio_free(GPIO93_PALMTX_USB_PULLUP);
> ? ? ? ?}
> ?}
>
> diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
> index b78c6b4..91bc5a3 100644
> --- a/arch/arm/mach-pxa/palmz72.c
> +++ b/arch/arm/mach-pxa/palmz72.c
> @@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata = {
> ?* select, i.e. it is inverted */
> ?static struct pxamci_platform_data palmz72_mci_platform_data = {
> ? ? ? ?.ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
> - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMZ72_SD_DETECT_N,
> - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMZ72_SD_RO,
> - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMZ72_SD_POWER_N,
> + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMZ72_SD_DETECT_N,
> + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO115_PALMZ72_SD_RO,
> + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO98_PALMZ72_SD_POWER_N,
> ? ? ? ?.gpio_power_invert ? ? ?= 1,
> ?};
>
> @@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
> + ? ? ? ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
> + ? ? ? ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?return 0;
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
> + ? ? ? gpio_free(GPIO96_PALMZ72_LCD_POWER);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_BL_POWER);
> + ? ? ? gpio_free(GPIO20_PALMZ72_BL_POWER);
> ?err:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmz72_backlight_notify(struct device *dev, int brightness)
> ?{
> - ? ? ? gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
> - ? ? ? gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
> + ? ? ? gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
> ? ? ? ?return brightness;
> ?}
>
> ?static void palmz72_backlight_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_BL_POWER);
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
> + ? ? ? gpio_free(GPIO20_PALMZ72_BL_POWER);
> + ? ? ? gpio_free(GPIO96_PALMZ72_LCD_POWER);
> ?}
>
> ?static struct platform_pwm_backlight_data palmz72_backlight_data = {
> @@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
> ?* IrDA
> ?******************************************************************************/
> ?static struct pxaficp_platform_data palmz72_ficp_platform_data = {
> - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMZ72_IR_DISABLE,
> + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO49_PALMZ72_IR_DISABLE,
> ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
> ?};
>
> @@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
> ? ? ? ?{
> ? ? ? ? ? ? ? ?.name ? ? ? ? ? ? ? ? ? = "palmz72:green:led",
> ? ? ? ? ? ? ? ?.default_trigger ? ? ? ?= "none",
> - ? ? ? ? ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO_NR_PALMZ72_LED_GREEN,
> + ? ? ? ? ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO88_PALMZ72_LED_GREEN,
> ? ? ? ?},
> ?};
>
> @@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
> ?* UDC
> ?******************************************************************************/
> ?static struct gpio_vbus_mach_info palmz72_udc_info = {
> - ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO_NR_PALMZ72_USB_DETECT_N,
> - ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO_NR_PALMZ72_USB_PULLUP,
> + ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO15_PALMZ72_USB_DETECT_N,
> + ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO95_PALMZ72_USB_PULLUP,
> ?};
>
> ?static struct platform_device palmz72_gpio_vbus = {
> @@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
> + ? ? ? ret = gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
> + ? ? ? ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
> + ? ? ? ret = gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
> + ? ? ? ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?return 0;
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
> + ? ? ? gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
> + ? ? ? gpio_free(GPIO0_PALMZ72_POWER_DETECT);
> ?err1:
> ? ? ? ?return ret;
> ?}
>
> ?static int palmz72_is_ac_online(void)
> ?{
> - ? ? ? return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
> + ? ? ? return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
> ?}
>
> ?static int palmz72_is_usb_online(void)
> ?{
> - ? ? ? return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
> + ? ? ? return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
> ?}
>
> ?static void power_supply_exit(struct device *dev)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
> - ? ? ? gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
> + ? ? ? gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
> + ? ? ? gpio_free(GPIO0_PALMZ72_POWER_DETECT);
> ?}
>
> ?static char *palmz72_supplicants[] = {
> @@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata = {
> ?/* setup udc GPIOs initial state */
> ?static void __init palmz72_udc_init(void)
> ?{
> - ? ? ? if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
> - ? ? ? ? ? ? ? gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
> - ? ? ? ? ? ? ? gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
> + ? ? ? if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
> + ? ? ? ? ? ? ? gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
> + ? ? ? ? ? ? ? gpio_free(GPIO95_PALMZ72_USB_PULLUP);
> ? ? ? ?}
> ?}
>
> diff --git a/configs/config-colibri b/configs/config-colibri
> new file mode 100644
> index 0000000..e69de29
> diff --git a/configs/config-income b/configs/config-income
> new file mode 100644
> index 0000000..e69de29
> diff --git a/configs/config-littleton b/configs/config-littleton
> new file mode 100644
> index 0000000..e69de29
> diff --git a/configs/config-vpac270 b/configs/config-vpac270
> new file mode 100644
> index 0000000..e69de29
> diff --git a/configs/config-vpac270-minimal b/configs/config-vpac270-minimal
> new file mode 100644
> index 0000000..e69de29
> diff --git a/configs/config-zaurus b/configs/config-zaurus
> new file mode 100644
> index 0000000..e69de29
> diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
> new file mode 100644
> index 0000000..e69de29
> diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
> index 11fb4cc..7ca74d6 100644
> --- a/drivers/ata/pata_palmld.c
> +++ b/drivers/ata/pata_palmld.c
> @@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ?return -ENOMEM;
>
> ? ? ? ?/* request and activate power GPIO, IRQ GPIO */
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
> + ? ? ? ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
> + ? ? ? ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
> + ? ? ? ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
> + ? ? ? ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> ? ? ? ?/* reset the drive */
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
> + ? ? ? gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
> ? ? ? ?msleep(30);
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
> + ? ? ? gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
> ? ? ? ?msleep(30);
>
> ? ? ? ?/* setup the ata port */
> @@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct platform_device *pdev)
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&palmld_sht);
>
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_RESET);
> + ? ? ? gpio_free(GPIO98_PALMLD_IDE_RESET);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
> + ? ? ? gpio_free(GPIO115_PALMLD_IDE_PWEN);
> ?err1:
> ? ? ? ?return ret;
> ?}
> @@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct platform_device *dev)
> ? ? ? ?ata_host_detach(host);
>
> ? ? ? ?/* power down the HDD */
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
> + ? ? ? gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
>
> - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_RESET);
> - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
> + ? ? ? gpio_free(GPIO98_PALMLD_IDE_RESET);
> + ? ? ? gpio_free(GPIO115_PALMLD_IDE_PWEN);
>
> ? ? ? ?return 0;
> ?}
> diff --git a/drivers/pcmcia/pxa2xx_palmld.c b/drivers/pcmcia/pxa2xx_palmld.c
> index 6fb6f7f..4317657 100644
> --- a/drivers/pcmcia/pxa2xx_palmld.c
> +++ b/drivers/pcmcia/pxa2xx_palmld.c
> @@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
> + ? ? ? ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
> + ? ? ? ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
> + ? ? ? ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
> + ? ? ? ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
> + ? ? ? ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
> + ? ? ? ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err4;
>
> - ? ? ? skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
> + ? ? ? skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
> ? ? ? ?return 0;
>
> ?err4:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
> + ? ? ? gpio_free(GPIO38_PALMLD_PCMCIA_READY);
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
> + ? ? ? gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
> + ? ? ? gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
> ?err1:
> ? ? ? ?return ret;
> ?}
>
> ?static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
> - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
> - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
> + ? ? ? gpio_free(GPIO38_PALMLD_PCMCIA_READY);
> + ? ? ? gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
> + ? ? ? gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
> ?}
>
> ?static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct pcmcia_state *state)
> ?{
> ? ? ? ?state->detect = 1; /* always inserted */
> - ? ? ? state->ready ?= !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
> + ? ? ? state->ready ?= !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
> ? ? ? ?state->bvd1 ? = 1;
> ? ? ? ?state->bvd2 ? = 1;
> ? ? ? ?state->wrprot = 0;
> @@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
> ?static int palmld_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?const socket_state_t *state)
> ?{
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
> - ? ? ? gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
> + ? ? ? gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
> + ? ? ? gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
> ? ? ? ? ? ? ? ? ? ? ? ?!!(state->flags & SS_RESET));
>
> ? ? ? ?return 0;
> diff --git a/drivers/pcmcia/pxa2xx_palmtx.c b/drivers/pcmcia/pxa2xx_palmtx.c
> index b07b247..cc80531 100644
> --- a/drivers/pcmcia/pxa2xx_palmtx.c
> +++ b/drivers/pcmcia/pxa2xx_palmtx.c
> @@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
> ?{
> ? ? ? ?int ret;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
> + ? ? ? ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err1;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
> + ? ? ? ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
> + ? ? ? ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err2;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
> + ? ? ? ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
> + ? ? ? ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err3;
> - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
> + ? ? ? ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err4;
>
> - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
> + ? ? ? ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err4;
> - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
> + ? ? ? ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
> ? ? ? ?if (ret)
> ? ? ? ? ? ? ? ?goto err5;
>
> - ? ? ? skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
> + ? ? ? skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
> ? ? ? ?return 0;
>
> ?err5:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
> + ? ? ? gpio_free(GPIO116_PALMTX_PCMCIA_READY);
> ?err4:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
> + ? ? ? gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
> ?err3:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
> + ? ? ? gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
> ?err2:
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
> + ? ? ? gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
> ?err1:
> ? ? ? ?return ret;
> ?}
>
> ?static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
> ?{
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
> - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
> + ? ? ? gpio_free(GPIO116_PALMTX_PCMCIA_READY);
> + ? ? ? gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
> + ? ? ? gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
> + ? ? ? gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
> ?}
>
> ?static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct pcmcia_state *state)
> ?{
> ? ? ? ?state->detect = 1; /* always inserted */
> - ? ? ? state->ready ?= !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
> + ? ? ? state->ready ?= !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
> ? ? ? ?state->bvd1 ? = 1;
> ? ? ? ?state->bvd2 ? = 1;
> ? ? ? ?state->wrprot = 0;
> @@ -92,9 +92,9 @@ static int
> ?palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?const socket_state_t *state)
> ?{
> - ? ? ? gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
> - ? ? ? gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
> - ? ? ? gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
> + ? ? ? gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
> + ? ? ? gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
> + ? ? ? gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
> ? ? ? ? ? ? ? ? ? ? ? ?!!(state->flags & SS_RESET));
>
> ? ? ? ?return 0;
> --
> 1.7.1
>
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 2/5] pxa: Introduce Palm27x
  2010-07-13  7:38 ` [PATCH 2/5] pxa: Introduce Palm27x Marek Vasut
@ 2010-07-13  8:14   ` Eric Miao
  2010-07-13  9:59     ` Marek Vasut
  0 siblings, 1 reply; 12+ messages in thread
From: Eric Miao @ 2010-07-13  8:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 13, 2010 at 3:38 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
> This contains common code for Palm LD, TX, T5, Z72
>

Not enough sure about the commonalities between these PALM code .vs.
the differences. Yet my simple idea is:

palm27x.c - for all pxa27x based machines
palm25x.c - for all pxa25x based machines

See ezx.c, I'd pretty much like number of files being reduced in mach-pxa/*.

> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> ---
> ?arch/arm/mach-pxa/Kconfig ? ? ? ? ? ? ? ?| ? ?3 +
> ?arch/arm/mach-pxa/Makefile ? ? ? ? ? ? ? | ? ?1 +
> ?arch/arm/mach-pxa/include/mach/palm27x.h | ? 48 +++
> ?arch/arm/mach-pxa/palm27x.c ? ? ? ? ? ? ?| ?473 ++++++++++++++++++++++++++++++
> ?4 files changed, 525 insertions(+), 0 deletions(-)
> ?create mode 100644 arch/arm/mach-pxa/include/mach/palm27x.h
>
> diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> index 2ff0b32..f3eaade 100644
> --- a/arch/arm/mach-pxa/Kconfig
> +++ b/arch/arm/mach-pxa/Kconfig
> @@ -347,6 +347,9 @@ config ARCH_PXA_PALM
> ? ? ? ?bool "PXA based Palm PDAs"
> ? ? ? ?select HAVE_PWM
>
> +config MACH_PALM27X
> + ? ? ? bool
> +
> ?config MACH_PALMTE2
> ? ? ? ?bool "Palm Tungsten|E2"
> ? ? ? ?default y
> diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
> index 3f72218..20c80e8 100644
> --- a/arch/arm/mach-pxa/Makefile
> +++ b/arch/arm/mach-pxa/Makefile
> @@ -75,6 +75,7 @@ obj-$(CONFIG_PXA_EZX) ? ? ? ? ? += ezx.o
> ?obj-$(CONFIG_MACH_MP900C) ? ? ?+= mp900.o
> ?obj-$(CONFIG_MACH_PALMTE2) ? ? += palmte2.o
> ?obj-$(CONFIG_MACH_PALMTC) ? ? ?+= palmtc.o
> +obj-$(CONFIG_MACH_PALM27X) ? ? += palm27x.o
> ?obj-$(CONFIG_MACH_PALMT5) ? ? ?+= palmt5.o
> ?obj-$(CONFIG_MACH_PALMTX) ? ? ?+= palmtx.o
> ?obj-$(CONFIG_MACH_PALMZ72) ? ? += palmz72.o
> diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h b/arch/arm/mach-pxa/include/mach/palm27x.h
> new file mode 100644
> index 0000000..94ae6d9
> --- /dev/null
> +++ b/arch/arm/mach-pxa/include/mach/palm27x.h
> @@ -0,0 +1,48 @@
> +/*
> + * Common functions for Palm LD, T5, TX, Z72
> + *
> + * Copyright (C) 2010
> + * Marek Vasut <marek.vasut@gmail.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +struct palm27x_handheld {
> + ? ? ? /* SD/MMC */
> + ? ? ? int ? ? ? ? ? ? mmc_detect;
> + ? ? ? int ? ? ? ? ? ? mmc_ro;
> + ? ? ? int ? ? ? ? ? ? mmc_power;
> +
> + ? ? ? /* PM */
> + ? ? ? unsigned long ? pm_str_base;
> +
> + ? ? ? /* UDC */
> + ? ? ? int ? ? ? ? ? ? udc_detect;
> + ? ? ? int ? ? ? ? ? ? udc_pullup;
> +
> + ? ? ? /* IrDA */
> + ? ? ? int ? ? ? ? ? ? irda_pwdn;
> +
> + ? ? ? /* Battery */
> + ? ? ? int ? ? ? ? ? ? batt_minv;
> + ? ? ? int ? ? ? ? ? ? batt_maxv;
> +
> + ? ? ? /* Audio */
> + ? ? ? int ? ? ? ? ? ? jack_gpio;
> +
> + ? ? ? /* Backlight */
> + ? ? ? int ? ? ? ? ? ? bl_bl;
> + ? ? ? int ? ? ? ? ? ? bl_lcd;
> +
> + ? ? ? /* Power supply */
> + ? ? ? int ? ? ? ? ? ? power_ac;
> + ? ? ? int ? ? ? ? ? ? power_usb;
> +
> + ? ? ? /* LCD */
> + ? ? ? int ? ? ? ? ? ? lcd_power;
> +};
> +
> +extern void __init palm27x_common_init(struct palm27x_handheld *);
> diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
> index e69de29..6d7b978 100644
> --- a/arch/arm/mach-pxa/palm27x.c
> +++ b/arch/arm/mach-pxa/palm27x.c
> @@ -0,0 +1,473 @@
> +/*
> + * Common code for Palm LD, T5, TX, Z72
> + *
> + * Copyright (C) 2010
> + * Marek Vasut <marek.vasut@gmail.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#include <linux/platform_device.h>
> +#include <linux/delay.h>
> +#include <linux/irq.h>
> +#include <linux/gpio_keys.h>
> +#include <linux/input.h>
> +#include <linux/pda_power.h>
> +#include <linux/pwm_backlight.h>
> +#include <linux/gpio.h>
> +#include <linux/wm97xx.h>
> +#include <linux/power_supply.h>
> +#include <linux/usb/gpio_vbus.h>
> +
> +#include <asm/mach-types.h>
> +#include <asm/mach/arch.h>
> +#include <asm/mach/map.h>
> +
> +#include <mach/pxa27x.h>
> +#include <mach/audio.h>
> +#include <mach/mmc.h>
> +#include <mach/pxafb.h>
> +#include <mach/irda.h>
> +#include <mach/udc.h>
> +#include <mach/palmasoc.h>
> +#include <mach/palm27x.h>
> +
> +#include "generic.h"
> +#include "devices.h"
> +
> +/******************************************************************************
> + * SD/MMC card controller
> + ******************************************************************************/
> +#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
> +static struct pxamci_platform_data palm27x_mci_platform_data = {
> + ? ? ? .ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
> + ? ? ? .detect_delay_ms ? ? ? ?= 200,
> +};
> +
> +static void __init palm27x_mmc_init(int detect, int ro, int power)
> +{
> + ? ? ? palm27x_mci_platform_data.gpio_card_detect ? ? ?= detect;
> + ? ? ? palm27x_mci_platform_data.gpio_card_ro ? ? ? ? ?= ro;
> + ? ? ? palm27x_mci_platform_data.gpio_power ? ? ? ? ? ?= power;
> +
> + ? ? ? if (machine_is_palmz72() || machine_is_centro())
> + ? ? ? ? ? ? ? palm27x_mci_platform_data.gpio_power_invert = 1;
> +
> + ? ? ? pxa_set_mci_info(&palm27x_mci_platform_data);
> +}
> +#else
> +static inline void palm27x_mmc_init(int detect, int ro, int power) {}
> +#endif
> +
> +/******************************************************************************
> + * Power management - standby
> + ******************************************************************************/
> +#if defined(CONFIG_SUSPEND)
> +static void __init palm27x_pm_init(unsigned long str_base)
> +{
> + ? ? ? static const unsigned long resume[] = {
> + ? ? ? ? ? ? ? 0xe3a00101, ? ? /* mov ?r0, ? ? #0x40000000 */
> + ? ? ? ? ? ? ? 0xe380060f, ? ? /* orr ?r0, r0, #0x00f00000 */
> + ? ? ? ? ? ? ? 0xe590f008, ? ? /* ldr ?pc, [r0, #0x08] */
> + ? ? ? };
> +
> + ? ? ? /*
> + ? ? ? ?* Copy the bootloader.
> + ? ? ? ?* NOTE: PalmZ72 uses a different wakeup method!
> + ? ? ? ?*/
> + ? ? ? if (!machine_is_palmz72())
> + ? ? ? ? ? ? ? memcpy(phys_to_virt(str_base), resume, sizeof(resume));
> +}
> +#else
> +static inline void palm27x_pm_init(unsigned long str_base) {}
> +#endif
> +
> +/******************************************************************************
> + * Framebuffer
> + ******************************************************************************/
> +/*
> + * NOTE: PalmZ72 has so called HiRes screen -- 320x320
> + * ? ? ? The rest of devices has HiRes+ screen -- 320x480
> + */
> +#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
> +static struct pxafb_mode_info palm27x_modes[] = {
> + ? ? ? {
> + ? ? ? ? ? ? ? .pixclock ? ? ? = 57692,
> + ? ? ? ? ? ? ? .xres ? ? ? ? ? = 320,
> + ? ? ? ? ? ? ? .yres ? ? ? ? ? = 480,
> + ? ? ? ? ? ? ? .bpp ? ? ? ? ? ?= 16,
> +
> + ? ? ? ? ? ? ? .left_margin ? ?= 32,
> + ? ? ? ? ? ? ? .right_margin ? = 1,
> + ? ? ? ? ? ? ? .upper_margin ? = 7,
> + ? ? ? ? ? ? ? .lower_margin ? = 1,
> +
> + ? ? ? ? ? ? ? .hsync_len ? ? ?= 4,
> + ? ? ? ? ? ? ? .vsync_len ? ? ?= 1,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .pixclock ? ? ? = 115384,
> + ? ? ? ? ? ? ? .xres ? ? ? ? ? = 320,
> + ? ? ? ? ? ? ? .yres ? ? ? ? ? = 320,
> + ? ? ? ? ? ? ? .bpp ? ? ? ? ? ?= 16,
> +
> + ? ? ? ? ? ? ? .left_margin ? ?= 27,
> + ? ? ? ? ? ? ? .right_margin ? = 7,
> + ? ? ? ? ? ? ? .upper_margin ? = 7,
> + ? ? ? ? ? ? ? .lower_margin ? = 8,
> +
> + ? ? ? ? ? ? ? .hsync_len ? ? ?= 6,
> + ? ? ? ? ? ? ? .vsync_len ? ? ?= 1,
> + ? ? ? }, {
> + ? ? ? ? ? ? ? .pixclock ? ? ? = 86538,
> + ? ? ? ? ? ? ? .xres ? ? ? ? ? = 320,
> + ? ? ? ? ? ? ? .yres ? ? ? ? ? = 320,
> + ? ? ? ? ? ? ? .bpp ? ? ? ? ? ?= 16,
> +
> + ? ? ? ? ? ? ? .left_margin ? ?= 20,
> + ? ? ? ? ? ? ? .right_margin ? = 8,
> + ? ? ? ? ? ? ? .upper_margin ? = 8,
> + ? ? ? ? ? ? ? .lower_margin ? = 5,
> +
> + ? ? ? ? ? ? ? .hsync_len ? ? ?= 4,
> + ? ? ? ? ? ? ? .vsync_len ? ? ?= 1,
> + ? ? ? }
> +};
> +
> +static struct pxafb_mach_info palm27x_lcd_screen = {
> + ? ? ? .num_modes ? ? ?= 1,
> + ? ? ? .lcd_conn ? ? ? = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
> +};
> +
> +static int palm27x_lcd_power;
> +static void palm27x_lcd_ctl(int on, struct fb_var_screeninfo *info)
> +{
> + ? ? ? gpio_set_value(palm27x_lcd_power, on);
> +}
> +
> +static void __init palm27x_lcd_init(int power)
> +{
> + ? ? ? if (machine_is_palmz72())
> + ? ? ? ? ? ? ? palm27x_lcd_screen.modes = &palm27x_modes[0];
> + ? ? ? else
> + ? ? ? ? ? ? ? palm27x_lcd_screen.modes = &palm27x_modes[1];
> +
> + ? ? ? if (gpio_is_valid(power)) {
> + ? ? ? ? ? ? ? if (!gpio_request(power, "LCD power")) {
> + ? ? ? ? ? ? ? ? ? ? ? pr_err("Palm27x: failed to claim lcd power gpio!\n");
> + ? ? ? ? ? ? ? ? ? ? ? return;
> + ? ? ? ? ? ? ? }
> + ? ? ? ? ? ? ? if (!gpio_direction_output(power, 1)) {
> + ? ? ? ? ? ? ? ? ? ? ? pr_err("Palm27x: lcd power configuration failed!\n");
> + ? ? ? ? ? ? ? ? ? ? ? return;
> + ? ? ? ? ? ? ? }
> + ? ? ? ? ? ? ? palm27x_lcd_power = power;
> + ? ? ? ? ? ? ? palm27x_lcd_screen.pxafb_lcd_power = palm27x_lcd_ctl;
> + ? ? ? }
> +
> + ? ? ? set_pxa_fb_info(&palm27x_lcd_screen);
> +}
> +
> +#else
> +static inline void palm27x_lcd_init(int power) {}
> +#endif
> +
> +/******************************************************************************
> + * USB Gadget
> + ******************************************************************************/
> +#if ? ?defined(CONFIG_USB_GADGET_PXA27X) || \
> + ? ? ? defined(CONFIG_USB_GADGET_PXA27X_MODULE)
> +static struct gpio_vbus_mach_info palm27x_udc_info = {
> + ? ? ? .gpio_vbus_inverted ? ? = 1,
> +};
> +
> +static struct platform_device palm27x_gpio_vbus = {
> + ? ? ? .name ? = "gpio-vbus",
> + ? ? ? .id ? ? = -1,
> + ? ? ? .dev ? ?= {
> + ? ? ? ? ? ? ? .platform_data ?= &palm27x_udc_info,
> + ? ? ? },
> +};
> +
> +static void __init palm27x_udc_init(int vbus, int pullup)
> +{
> + ? ? ? if (machine_is_palmld())
> + ? ? ? ? ? ? ? return;
> +
> + ? ? ? palm27x_udc_info.gpio_vbus ? ? ?= vbus;
> + ? ? ? palm27x_udc_info.gpio_pullup ? ?= pullup;
> +
> + ? ? ? if (machine_is_palmz72())
> + ? ? ? ? ? ? ? palm27x_udc_info.gpio_vbus_inverted = 0;
> +
> + ? ? ? if (!gpio_request(pullup, "USB Pullup")) {
> + ? ? ? ? ? ? ? gpio_direction_output(pullup,
> + ? ? ? ? ? ? ? ? ? ? ? palm27x_udc_info.gpio_vbus_inverted);
> + ? ? ? ? ? ? ? gpio_free(pullup);
> + ? ? ? } else
> + ? ? ? ? ? ? ? return;
> +
> + ? ? ? platform_device_register(&palm27x_gpio_vbus);
> +}
> +#else
> +static inline void palm27x_udc_init(int vbus, int pullup) {}
> +#endif
> +
> +/******************************************************************************
> + * IrDA
> + ******************************************************************************/
> +#if defined(CONFIG_IRDA) || defined(CONFIG_IRDA_MODULE)
> +static struct pxaficp_platform_data palm27x_ficp_platform_data = {
> + ? ? ? .transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
> +};
> +
> +static void __init palm27x_irda_init(int pwdn)
> +{
> + ? ? ? palm27x_ficp_platform_data.gpio_pwdown = pwdn;
> + ? ? ? pxa_set_ficp_info(&palm27x_ficp_platform_data);
> +}
> +#else
> +static inline void palm27x_irda_init(int pwdn) {}
> +#endif
> +
> +/******************************************************************************
> + * WM97xx audio, battery
> + ******************************************************************************/
> +#if ? ?defined(CONFIG_TOUCHSCREEN_WM97XX) || \
> + ? ? ? defined(CONFIG_TOUCHSCREEN_WM97XX_MODULE)
> +static struct wm97xx_batt_pdata palm27x_batt_pdata = {
> + ? ? ? .batt_aux ? ? ? = WM97XX_AUX_ID3,
> + ? ? ? .temp_aux ? ? ? = WM97XX_AUX_ID2,
> + ? ? ? .charge_gpio ? ?= -1,
> + ? ? ? .batt_mult ? ? ?= 1000,
> + ? ? ? .batt_div ? ? ? = 414,
> + ? ? ? .temp_mult ? ? ?= 1,
> + ? ? ? .temp_div ? ? ? = 1,
> + ? ? ? .batt_tech ? ? ?= POWER_SUPPLY_TECHNOLOGY_LIPO,
> + ? ? ? .batt_name ? ? ?= "main-batt",
> +};
> +
> +static struct wm97xx_pdata palm27x_wm97xx_pdata = {
> + ? ? ? .batt_pdata ? ? = &palm27x_batt_pdata,
> +};
> +
> +static pxa2xx_audio_ops_t palm27x_ac97_pdata = {
> + ? ? ? .codec_pdata ? ?= { &palm27x_wm97xx_pdata, },
> +};
> +
> +static struct palm27x_asoc_info palm27x_asoc_pdata = {
> + ? ? ? .jack_gpio ? ? ?= -1,
> +};
> +
> +static struct platform_device palm27x_asoc = {
> + ? ? ? .name = "palm27x-asoc",
> + ? ? ? .id ? = -1,
> + ? ? ? .dev ?= {
> + ? ? ? ? ? ? ? .platform_data = &palm27x_asoc_pdata,
> + ? ? ? },
> +};
> +
> +static void __init palm27x_ac97_init(int minv, int maxv, int jack)
> +{
> + ? ? ? if (!machine_is_palmz72())
> + ? ? ? ? ? ? ? palm27x_ac97_pdata.reset_gpio = 95;
> + ? ? ? else
> + ? ? ? ? ? ? ? palm27x_asoc_pdata.jack_gpio = jack;
> +
> + ? ? ? if (machine_is_treo680() || machine_is_centro()) {
> + ? ? ? ? ? ? ? palm27x_ac97_pdata.codec_pdata[0] = NULL;
> + ? ? ? ? ? ? ? pxa_set_ac97_info(&palm27x_ac97_pdata);
> + ? ? ? } else {
> + ? ? ? ? ? ? ? palm27x_batt_pdata.min_voltage ?= minv,
> + ? ? ? ? ? ? ? palm27x_batt_pdata.max_voltage ?= maxv,
> +
> + ? ? ? ? ? ? ? pxa_set_ac97_info(&palm27x_ac97_pdata);
> + ? ? ? ? ? ? ? platform_device_register(&palm27x_asoc);
> + ? ? ? }
> +}
> +#else
> +static inline void palm27x_ac97_init(int minv, int maxv, int jack) {}
> +#endif
> +
> +/******************************************************************************
> + * Backlight
> + ******************************************************************************/
> +#if defined(CONFIG_BACKLIGHT_PWM) || defined(CONFIG_BACKLIGHT_PWM_MODULE)
> +struct {
> + ? ? ? int ? ? bl_power;
> + ? ? ? int ? ? lcd_power;
> +} palm27x_bl_info;
> +
> +static int palm27x_backlight_init(struct device *dev)
> +{
> + ? ? ? int ret;
> +
> + ? ? ? ret = gpio_request(palm27x_bl_info.bl_power, "BL POWER");
> + ? ? ? if (ret)
> + ? ? ? ? ? ? ? goto err;
> + ? ? ? ret = gpio_direction_output(palm27x_bl_info.bl_power, 0);
> + ? ? ? if (ret)
> + ? ? ? ? ? ? ? goto err2;
> +
> + ? ? ? if (gpio_is_valid(palm27x_bl_info.lcd_power)) {
> + ? ? ? ? ? ? ? ret = gpio_request(palm27x_bl_info.lcd_power, "LCD POWER");
> + ? ? ? ? ? ? ? if (ret)
> + ? ? ? ? ? ? ? ? ? ? ? goto err2;
> + ? ? ? ? ? ? ? ret = gpio_direction_output(palm27x_bl_info.lcd_power, 0);
> + ? ? ? ? ? ? ? if (ret)
> + ? ? ? ? ? ? ? ? ? ? ? goto err3;
> + ? ? ? }
> +
> + ? ? ? return 0;
> +err3:
> + ? ? ? gpio_free(palm27x_bl_info.lcd_power);
> +err2:
> + ? ? ? gpio_free(palm27x_bl_info.bl_power);
> +err:
> + ? ? ? return ret;
> +}
> +
> +static int palm27x_backlight_notify(struct device *dev, int brightness)
> +{
> + ? ? ? gpio_set_value(palm27x_bl_info.bl_power, brightness);
> + ? ? ? if (gpio_is_valid(palm27x_bl_info.lcd_power))
> + ? ? ? ? ? ? ? gpio_set_value(palm27x_bl_info.lcd_power, brightness);
> + ? ? ? return brightness;
> +}
> +
> +static void palm27x_backlight_exit(struct device *dev)
> +{
> + ? ? ? gpio_free(palm27x_bl_info.bl_power);
> + ? ? ? if (gpio_is_valid(palm27x_bl_info.lcd_power))
> + ? ? ? ? ? ? ? gpio_free(palm27x_bl_info.lcd_power);
> +}
> +
> +static struct platform_pwm_backlight_data palm27x_backlight_data = {
> + ? ? ? .pwm_id ? ? ? ? = 0,
> + ? ? ? .max_brightness = 0xfe,
> + ? ? ? .dft_brightness = 0x7e,
> + ? ? ? .pwm_period_ns ?= 3500,
> + ? ? ? .init ? ? ? ? ? = palm27x_backlight_init,
> + ? ? ? .notify ? ? ? ? = palm27x_backlight_notify,
> + ? ? ? .exit ? ? ? ? ? = palm27x_backlight_exit,
> +};
> +
> +static struct platform_device palm27x_backlight = {
> + ? ? ? .name ? = "pwm-backlight",
> + ? ? ? .dev ? ?= {
> + ? ? ? ? ? ? ? .parent ? ? ? ? = &pxa27x_device_pwm0.dev,
> + ? ? ? ? ? ? ? .platform_data ?= &palm27x_backlight_data,
> + ? ? ? },
> +};
> +
> +static void __init palm27x_pwm_init(int bl, int lcd)
> +{
> + ? ? ? palm27x_bl_info.bl_power ? ? ? ?= bl;
> + ? ? ? palm27x_bl_info.lcd_power ? ? ? = lcd;
> + ? ? ? platform_device_register(&palm27x_backlight);
> +}
> +#else
> +static inline void palm27x_pwm_init(int bl, int lcd) {}
> +#endif
> +
> +/******************************************************************************
> + * Power supply
> + ******************************************************************************/
> +#if defined(CONFIG_PDA_POWER) || defined(CONFIG_PDA_POWER_MODULE)
> +struct {
> + ? ? ? int ? ? ac_state;
> + ? ? ? int ? ? usb_state;
> +} palm27x_power_info;
> +
> +static int palm27x_power_supply_init(struct device *dev)
> +{
> + ? ? ? int ret;
> +
> + ? ? ? ret = gpio_request(palm27x_power_info.ac_state, "AC state");
> + ? ? ? if (ret)
> + ? ? ? ? ? ? ? goto err1;
> + ? ? ? ret = gpio_direction_input(palm27x_power_info.ac_state);
> + ? ? ? if (ret)
> + ? ? ? ? ? ? ? goto err2;
> +
> + ? ? ? if (gpio_is_valid(palm27x_power_info.usb_state)) {
> + ? ? ? ? ? ? ? ret = gpio_request(palm27x_power_info.usb_state, "USB state");
> + ? ? ? ? ? ? ? if (ret)
> + ? ? ? ? ? ? ? ? ? ? ? goto err2;
> + ? ? ? ? ? ? ? ret = gpio_direction_input(palm27x_power_info.usb_state);
> + ? ? ? ? ? ? ? if (ret)
> + ? ? ? ? ? ? ? ? ? ? ? goto err3;
> + ? ? ? }
> +
> + ? ? ? return 0;
> +err3:
> + ? ? ? gpio_free(palm27x_power_info.usb_state);
> +err2:
> + ? ? ? gpio_free(palm27x_power_info.ac_state);
> +err1:
> + ? ? ? return ret;
> +}
> +
> +static void palm27x_power_supply_exit(struct device *dev)
> +{
> + ? ? ? gpio_free(palm27x_power_info.usb_state);
> + ? ? ? gpio_free(palm27x_power_info.ac_state);
> +}
> +
> +static int palm27x_is_ac_online(void)
> +{
> + ? ? ? return gpio_get_value(palm27x_power_info.ac_state);
> +}
> +
> +static int palm27x_is_usb_online(void)
> +{
> + ? ? ? return !gpio_get_value(palm27x_power_info.usb_state);
> +}
> +static char *palm27x_supplicants[] = {
> + ? ? ? "main-battery",
> +};
> +
> +static struct pda_power_pdata palm27x_ps_info = {
> + ? ? ? .init ? ? ? ? ? ? ? ? ? = palm27x_power_supply_init,
> + ? ? ? .exit ? ? ? ? ? ? ? ? ? = palm27x_power_supply_exit,
> + ? ? ? .is_ac_online ? ? ? ? ? = palm27x_is_ac_online,
> + ? ? ? .is_usb_online ? ? ? ? ?= palm27x_is_usb_online,
> + ? ? ? .supplied_to ? ? ? ? ? ?= palm27x_supplicants,
> + ? ? ? .num_supplicants ? ? ? ?= ARRAY_SIZE(palm27x_supplicants),
> +};
> +
> +static struct platform_device palm27x_power_supply = {
> + ? ? ? .name = "pda-power",
> + ? ? ? .id ? = -1,
> + ? ? ? .dev ?= {
> + ? ? ? ? ? ? ? .platform_data = &palm27x_ps_info,
> + ? ? ? },
> +};
> +
> +static void __init palm27x_power_init(int ac, int usb)
> +{
> + ? ? ? palm27x_power_info.ac_state ? ? = ac;
> + ? ? ? palm27x_power_info.usb_state ? ?= usb;
> + ? ? ? platform_device_register(&palm27x_power_supply);
> +}
> +#else
> +static inline void palm27x_power_init(int ac, int usb) {}
> +#endif
> +
> +void __init palm27x_common_init(struct palm27x_handheld *palm)
> +{
> + ? ? ? pxa_set_ffuart_info(NULL);
> + ? ? ? pxa_set_btuart_info(NULL);
> + ? ? ? pxa_set_stuart_info(NULL);
> +
> + ? ? ? palm27x_mmc_init(palm->mmc_detect, palm->mmc_ro, palm->mmc_power);
> + ? ? ? palm27x_pm_init(palm->pm_str_base);
> + ? ? ? palm27x_lcd_init(palm->lcd_power);
> + ? ? ? palm27x_udc_init(palm->udc_detect, palm->udc_pullup);
> + ? ? ? palm27x_irda_init(palm->irda_pwdn);
> + ? ? ? palm27x_ac97_init(palm->batt_minv, palm->batt_maxv, palm->jack_gpio);
> + ? ? ? palm27x_pwm_init(palm->bl_bl, palm->bl_lcd);
> + ? ? ? palm27x_power_init(palm->power_ac, palm->power_usb);
> +}
> --
> 1.7.1
>
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
  2010-07-13  8:10 ` [PATCH 1/5] pxa: Sane naming of gpios for palm platform Eric Miao
@ 2010-07-13  9:58   ` Marek Vasut
  2010-07-13 10:20     ` Eric Miao
  0 siblings, 1 reply; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  9:58 UTC (permalink / raw)
  To: linux-arm-kernel

Dne ?t 13. ?ervence 2010 10:10:31 Eric Miao napsal(a):
> On Tue, Jul 13, 2010 at 3:38 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > ---
> >  arch/arm/mach-pxa/include/mach/palmld.h  |   58
> > ++++++++++++++-------------- arch/arm/mach-pxa/include/mach/palmt5.h  |
> >   30 +++++++-------
> >  arch/arm/mach-pxa/include/mach/palmtx.h  |   44 +++++++++++-----------
> >  arch/arm/mach-pxa/include/mach/palmz72.h |   28 +++++++-------
> 
> What's wrong with the original naming scheme?

GPIO_NR was never intended to be used. It's some stupidity with historic roots. 
(NR == number ... it was intended to be substituted, but never was ... time to 
do it).
> 
> >  arch/arm/mach-pxa/palmld.c               |   60
> > +++++++++++++++--------------- arch/arm/mach-pxa/palmt5.c              
> > |   52 +++++++++++++------------- arch/arm/mach-pxa/palmtx.c            
> >   |   52 +++++++++++++------------- arch/arm/mach-pxa/palmz72.c        
> >      |   60 +++++++++++++++--------------- drivers/ata/pata_palmld.c    
> >            |   22 +++++-----
> >  drivers/pcmcia/pxa2xx_palmld.c           |   32 ++++++++--------
> >  drivers/pcmcia/pxa2xx_palmtx.c           |   42 ++++++++++----------
> >  11 files changed, 240 insertions(+), 240 deletions(-)
> >  create mode 100644 arch/arm/mach-pxa/palm27x.c
> >  create mode 100644 configs/config-colibri
> >  create mode 100644 configs/config-income
> >  create mode 100644 configs/config-littleton
> >  create mode 100644 configs/config-vpac270
> >  create mode 100644 configs/config-vpac270-minimal
> >  create mode 100644 configs/config-zaurus
> >  create mode 100644 configs/config-zipitz2
> 
> And what's this config crap for?

Oh jeez ... git is making fun from me
> 
> > diff --git a/arch/arm/mach-pxa/include/mach/palmld.h
> > b/arch/arm/mach-pxa/include/mach/palmld.h index ae536e8..8f9034d 100644
> > --- a/arch/arm/mach-pxa/include/mach/palmld.h
> > +++ b/arch/arm/mach-pxa/include/mach/palmld.h
> > @@ -16,55 +16,55 @@
> >  /** HERE ARE GPIOs **/
> > 
> >  /* GPIOs */
> > -#define GPIO_NR_PALMLD_GPIO_RESET      1
> > -#define GPIO_NR_PALMLD_POWER_DETECT    4
> > -#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N        10
> > -#define GPIO_NR_PALMLD_POWER_SWITCH    12
> > -#define GPIO_NR_PALMLD_EARPHONE_DETECT         13
> > -#define GPIO_NR_PALMLD_LOCK_SWITCH     15
> > +#define GPIO1_PALMLD_GPIO_RESET                1
> > +#define GPIO4_PALMLD_POWER_DETECT      4
> > +#define GPIO10_PALMLD_HOTSYNC_BUTTON_N 10
> > +#define GPIO12_PALMLD_POWER_SWITCH     12
> > +#define GPIO13_PALMLD_EARPHONE_DETECT  13
> > +#define GPIO15_PALMLD_LOCK_SWITCH      15
> > 
> >  /* SD/MMC */
> > -#define GPIO_NR_PALMLD_SD_DETECT_N     14
> > -#define GPIO_NR_PALMLD_SD_POWER                114
> > -#define GPIO_NR_PALMLD_SD_READONLY     116
> > +#define GPIO14_PALMLD_SD_DETECT_N      14
> > +#define GPIO114_PALMLD_SD_POWER                114
> > +#define GPIO116_PALMLD_SD_READONLY     116
> > 
> >  /* TOUCHSCREEN */
> > -#define GPIO_NR_PALMLD_WM9712_IRQ      27
> > +#define GPIO27_PALMLD_WM9712_IRQ       27
> > 
> >  /* IRDA */
> > -#define GPIO_NR_PALMLD_IR_DISABLE      108
> > +#define GPIO108_PALMLD_IR_DISABLE      108
> > 
> >  /* LCD/BACKLIGHT */
> > -#define GPIO_NR_PALMLD_BL_POWER                19
> > -#define GPIO_NR_PALMLD_LCD_POWER       96
> > +#define GPIO19_PALMLD_BL_POWER         19
> > +#define GPIO96_PALMLD_LCD_POWER                96
> > 
> >  /* LCD BORDER */
> > -#define GPIO_NR_PALMLD_BORDER_SWITCH   21
> > -#define GPIO_NR_PALMLD_BORDER_SELECT   22
> > +#define GPIO21_PALMLD_BORDER_SWITCH    21
> > +#define GPIO22_PALMLD_BORDER_SELECT    22
> > 
> >  /* BLUETOOTH */
> > -#define GPIO_NR_PALMLD_BT_POWER                17
> > -#define GPIO_NR_PALMLD_BT_RESET                83
> > +#define GPIO17_PALMLD_BT_POWER         17
> > +#define GPIO83_PALMLD_BT_RESET         83
> > 
> >  /* PCMCIA (WiFi) */
> > -#define GPIO_NR_PALMLD_PCMCIA_READY    38
> > -#define GPIO_NR_PALMLD_PCMCIA_POWER    36
> > -#define GPIO_NR_PALMLD_PCMCIA_RESET    81
> > +#define GPIO38_PALMLD_PCMCIA_READY     38
> > +#define GPIO36_PALMLD_PCMCIA_POWER     36
> > +#define GPIO81_PALMLD_PCMCIA_RESET     81
> > 
> >  /* LEDs */
> > -#define GPIO_NR_PALMLD_LED_GREEN       52
> > -#define GPIO_NR_PALMLD_LED_AMBER       94
> > +#define GPIO52_PALMLD_LED_GREEN                52
> > +#define GPIO94_PALMLD_LED_AMBER                94
> > 
> >  /* IDE */
> > -#define GPIO_NR_PALMLD_IDE_RESET       98
> > -#define GPIO_NR_PALMLD_IDE_PWEN                115
> > +#define GPIO98_PALMLD_IDE_RESET                98
> > +#define GPIO115_PALMLD_IDE_PWEN                115
> > 
> >  /* USB */
> > -#define GPIO_NR_PALMLD_USB_DETECT_N    3
> > -#define GPIO_NR_PALMLD_USB_READY       86
> > -#define GPIO_NR_PALMLD_USB_RESET       88
> > -#define GPIO_NR_PALMLD_USB_INT         106
> > -#define GPIO_NR_PALMLD_USB_POWER       118
> > +#define GPIO3_PALMLD_USB_DETECT_N      3
> > +#define GPIO86_PALMLD_USB_READY                86
> > +#define GPIO88_PALMLD_USB_RESET                88
> > +#define GPIO106_PALMLD_USB_INT         106
> > +#define GPIO118_PALMLD_USB_POWER       118
> >  /* 20, 53 and 86 are usb related too */
> > 
> >  /* INTERRUPTS */
> > diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h
> > b/arch/arm/mach-pxa/include/mach/palmt5.h index 6baf746..d70bb62 100644
> > --- a/arch/arm/mach-pxa/include/mach/palmt5.h
> > +++ b/arch/arm/mach-pxa/include/mach/palmt5.h
> > @@ -18,34 +18,34 @@
> >  /** HERE ARE GPIOs **/
> > 
> >  /* GPIOs */
> > -#define GPIO_NR_PALMT5_GPIO_RESET              1
> > +#define GPIO1_PALMT5_GPIO_RESET                        1
> > 
> > -#define GPIO_NR_PALMT5_POWER_DETECT            90
> > -#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N                10
> > -#define GPIO_NR_PALMT5_EARPHONE_DETECT         107
> > +#define GPIO90_PALMT5_POWER_DETECT             90
> > +#define GPIO10_PALMT5_HOTSYNC_BUTTON_N         10
> > +#define GPIO107_PALMT5_EARPHONE_DETECT         107
> > 
> >  /* SD/MMC */
> > -#define GPIO_NR_PALMT5_SD_DETECT_N             14
> > -#define GPIO_NR_PALMT5_SD_POWER                        114
> > -#define GPIO_NR_PALMT5_SD_READONLY             115
> > +#define GPIO14_PALMT5_SD_DETECT_N              14
> > +#define GPIO114_PALMT5_SD_POWER                        114
> > +#define GPIO115_PALMT5_SD_READONLY             115
> > 
> >  /* TOUCHSCREEN */
> > -#define GPIO_NR_PALMT5_WM9712_IRQ              27
> > +#define GPIO27_PALMT5_WM9712_IRQ               27
> > 
> >  /* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ?
> > */ -#define GPIO_NR_PALMT5_IR_DISABLE              40
> > +#define GPIO40_PALMT5_IR_DISABLE               40
> > 
> >  /* USB */
> > -#define GPIO_NR_PALMT5_USB_DETECT_N            15
> > -#define GPIO_NR_PALMT5_USB_PULLUP              93
> > +#define GPIO15_PALMT5_USB_DETECT_N             15
> > +#define GPIO93_PALMT5_USB_PULLUP               93
> > 
> >  /* LCD/BACKLIGHT */
> > -#define GPIO_NR_PALMT5_BL_POWER                        84
> > -#define GPIO_NR_PALMT5_LCD_POWER               96
> > +#define GPIO84_PALMT5_BL_POWER                 84
> > +#define GPIO96_PALMT5_LCD_POWER                        96
> > 
> >  /* BLUETOOTH */
> > -#define GPIO_NR_PALMT5_BT_POWER                        17
> > -#define GPIO_NR_PALMT5_BT_RESET                        83
> > +#define GPIO17_PALMT5_BT_POWER                 17
> > +#define GPIO83_PALMT5_BT_RESET                 83
> > 
> >  /* INTERRUPTS */
> >  #define IRQ_GPIO_PALMT5_SD_DETECT_N  
> >  IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N) diff --git
> > a/arch/arm/mach-pxa/include/mach/palmtx.h
> > b/arch/arm/mach-pxa/include/mach/palmtx.h index 10abc4f..8b97b4d 100644
> > --- a/arch/arm/mach-pxa/include/mach/palmtx.h
> > +++ b/arch/arm/mach-pxa/include/mach/palmtx.h
> > @@ -19,47 +19,47 @@
> >  /** HERE ARE GPIOs **/
> > 
> >  /* GPIOs */
> > -#define GPIO_NR_PALMTX_GPIO_RESET              1
> > +#define GPIO1_PALMTX_GPIO_RESET                        1
> > 
> > -#define GPIO_NR_PALMTX_POWER_DETECT            12 /* 90 */
> > -#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N                10
> > -#define GPIO_NR_PALMTX_EARPHONE_DETECT         107
> > +#define GPIO12_PALMTX_POWER_DETECT             12 /* 90 */
> > +#define GPIO10_PALMTX_HOTSYNC_BUTTON_N         10
> > +#define GPIO107_PALMTX_EARPHONE_DETECT         107
> > 
> >  /* SD/MMC */
> > -#define GPIO_NR_PALMTX_SD_DETECT_N             14
> > -#define GPIO_NR_PALMTX_SD_POWER                        114 /* probably
> > */ -#define GPIO_NR_PALMTX_SD_READONLY             115 /* probably */
> > +#define GPIO14_PALMTX_SD_DETECT_N              14
> > +#define GPIO114_PALMTX_SD_POWER                        114 /* probably
> > */ +#define GPIO115_PALMTX_SD_READONLY             115 /* probably */
> > 
> >  /* TOUCHSCREEN */
> > -#define GPIO_NR_PALMTX_WM9712_IRQ              27
> > +#define GPIO27_PALMTX_WM9712_IRQ               27
> > 
> >  /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ?
> > */ -#define GPIO_NR_PALMTX_IR_DISABLE              40
> > +#define GPIO40_PALMTX_IR_DISABLE               40
> > 
> >  /* USB */
> > -#define GPIO_NR_PALMTX_USB_DETECT_N            13
> > -#define GPIO_NR_PALMTX_USB_PULLUP              93
> > +#define GPIO13_PALMTX_USB_DETECT_N             13
> > +#define GPIO93_PALMTX_USB_PULLUP               93
> > 
> >  /* LCD/BACKLIGHT */
> > -#define GPIO_NR_PALMTX_BL_POWER                        84
> > -#define GPIO_NR_PALMTX_LCD_POWER               96
> > +#define GPIO84_PALMTX_BL_POWER                 84
> > +#define GPIO96_PALMTX_LCD_POWER                        96
> > 
> >  /* LCD BORDER */
> > -#define GPIO_NR_PALMTX_BORDER_SWITCH           98
> > -#define GPIO_NR_PALMTX_BORDER_SELECT           22
> > +#define GPIO98_PALMTX_BORDER_SWITCH            98
> > +#define GPIO22_PALMTX_BORDER_SELECT            22
> > 
> >  /* BLUETOOTH */
> > -#define GPIO_NR_PALMTX_BT_POWER                        17
> > -#define GPIO_NR_PALMTX_BT_RESET                        83
> > +#define GPIO17_PALMTX_BT_POWER                 17
> > +#define GPIO83_PALMTX_BT_RESET                 83
> > 
> >  /* PCMCIA (WiFi) */
> > -#define GPIO_NR_PALMTX_PCMCIA_POWER1           94
> > -#define GPIO_NR_PALMTX_PCMCIA_POWER2           108
> > -#define GPIO_NR_PALMTX_PCMCIA_RESET            79
> > -#define GPIO_NR_PALMTX_PCMCIA_READY            116
> > +#define GPIO94_PALMTX_PCMCIA_POWER1            94
> > +#define GPIO108_PALMTX_PCMCIA_POWER2           108
> > +#define GPIO79_PALMTX_PCMCIA_RESET             79
> > +#define GPIO116_PALMTX_PCMCIA_READY            116
> > 
> >  /* NAND Flash ... this GPIO may be incorrect! */
> > -#define GPIO_NR_PALMTX_NAND_BUFFER_DIR         79
> > +#define GPIO79_PALMTX_NAND_BUFFER_DIR          79
> > 
> >  /* INTERRUPTS */
> >  #define IRQ_GPIO_PALMTX_SD_DETECT_N  
> >  IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N) diff --git
> > a/arch/arm/mach-pxa/include/mach/palmz72.h
> > b/arch/arm/mach-pxa/include/mach/palmz72.h index 2bbcf70..83dced5 100644
> > --- a/arch/arm/mach-pxa/include/mach/palmz72.h
> > +++ b/arch/arm/mach-pxa/include/mach/palmz72.h
> > @@ -15,34 +15,34 @@
> >  #define _INCLUDE_PALMZ72_H_
> > 
> >  /* Power and control */
> > -#define GPIO_NR_PALMZ72_GPIO_RESET             1
> > -#define GPIO_NR_PALMZ72_POWER_DETECT           0
> > +#define GPIO1_PALMZ72_GPIO_RESET               1
> > +#define GPIO0_PALMZ72_POWER_DETECT             0
> > 
> >  /* SD/MMC */
> > -#define GPIO_NR_PALMZ72_SD_DETECT_N            14
> > -#define GPIO_NR_PALMZ72_SD_POWER_N             98
> > -#define GPIO_NR_PALMZ72_SD_RO                  115
> > +#define GPIO14_PALMZ72_SD_DETECT_N             14
> > +#define GPIO98_PALMZ72_SD_POWER_N              98
> > +#define GPIO115_PALMZ72_SD_RO                  115
> > 
> >  /* Touchscreen */
> > -#define GPIO_NR_PALMZ72_WM9712_IRQ             27
> > +#define GPIO27_PALMZ72_WM9712_IRQ              27
> > 
> >  /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ?
> > */ -#define GPIO_NR_PALMZ72_IR_DISABLE             49
> > +#define GPIO49_PALMZ72_IR_DISABLE              49
> > 
> >  /* USB */
> > -#define GPIO_NR_PALMZ72_USB_DETECT_N           15
> > -#define GPIO_NR_PALMZ72_USB_PULLUP             95
> > +#define GPIO15_PALMZ72_USB_DETECT_N            15
> > +#define GPIO95_PALMZ72_USB_PULLUP              95
> > 
> >  /* LCD/Backlight */
> > -#define GPIO_NR_PALMZ72_BL_POWER               20
> > -#define GPIO_NR_PALMZ72_LCD_POWER              96
> > +#define GPIO20_PALMZ72_BL_POWER                        20
> > +#define GPIO96_PALMZ72_LCD_POWER               96
> > 
> >  /* LED */
> > -#define GPIO_NR_PALMZ72_LED_GREEN              88
> > +#define GPIO88_PALMZ72_LED_GREEN               88
> > 
> >  /* Bluetooth */
> > -#define GPIO_NR_PALMZ72_BT_POWER               17
> > -#define GPIO_NR_PALMZ72_BT_RESET               83
> > +#define GPIO17_PALMZ72_BT_POWER                        17
> > +#define GPIO83_PALMZ72_BT_RESET                        83
> > 
> >  /** Initial values **/
> > 
> > diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
> > index 83a1a55..bec35e2 100644
> > --- a/arch/arm/mach-pxa/palmld.c
> > +++ b/arch/arm/mach-pxa/palmld.c
> > @@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
> >  ************************************************************************
> > ******/ static struct pxamci_platform_data palmld_mci_platform_data = {
> > .ocr_mask               = MMC_VDD_32_33 | MMC_VDD_33_34,
> > -       .gpio_card_detect       = GPIO_NR_PALMLD_SD_DETECT_N,
> > -       .gpio_card_ro           = GPIO_NR_PALMLD_SD_READONLY,
> > -       .gpio_power             = GPIO_NR_PALMLD_SD_POWER,
> > +       .gpio_card_detect       = GPIO14_PALMLD_SD_DETECT_N,
> > +       .gpio_card_ro           = GPIO116_PALMLD_SD_READONLY,
> > +       .gpio_power             = GPIO114_PALMLD_SD_POWER,
> >        .detect_delay_ms        = 200,
> >  };
> > 
> > @@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data
> > palmld_keypad_platform_data = { * GPIO keys
> >  ************************************************************************
> > ******/ static struct gpio_keys_button palmld_pxa_buttons[] = {
> > -       {KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> > -       {KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
> > -       {KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
> > +       {KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> > +       {KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
> > +       {KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
> >  };
> > 
> >  static struct gpio_keys_platform_data palmld_pxa_keys_data = {
> > @@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device
> > *dev) {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
> > +       ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
> >        if (ret)
> >                goto err;
> > -       ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
> > +       ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
> > +       ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
> > +       ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
> >        if (ret)
> >                goto err3;
> > 
> >        return 0;
> >  err3:
> > -       gpio_free(GPIO_NR_PALMLD_LCD_POWER);
> > +       gpio_free(GPIO96_PALMLD_LCD_POWER);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMLD_BL_POWER);
> > +       gpio_free(GPIO19_PALMLD_BL_POWER);
> >  err:
> >        return ret;
> >  }
> > 
> >  static int palmld_backlight_notify(struct device *dev, int brightness)
> >  {
> > -       gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
> > -       gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
> > +       gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
> > +       gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
> >        return brightness;
> >  }
> > 
> >  static void palmld_backlight_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMLD_BL_POWER);
> > -       gpio_free(GPIO_NR_PALMLD_LCD_POWER);
> > +       gpio_free(GPIO19_PALMLD_BL_POWER);
> > +       gpio_free(GPIO96_PALMLD_LCD_POWER);
> >  }
> > 
> >  static struct platform_pwm_backlight_data palmld_backlight_data = {
> > @@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
> >  * IrDA
> >  ************************************************************************
> > ******/ static struct pxaficp_platform_data palmld_ficp_platform_data = {
> > -       .gpio_pwdown            = GPIO_NR_PALMLD_IR_DISABLE,
> > +       .gpio_pwdown            = GPIO108_PALMLD_IR_DISABLE,
> >        .transceiver_cap        = IR_SIRMODE | IR_OFF,
> >  };
> > 
> > @@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
> >  {
> >        .name                   = "palmld:green:led",
> >        .default_trigger        = "none",
> > -       .gpio                   = GPIO_NR_PALMLD_LED_GREEN,
> > +       .gpio                   = GPIO52_PALMLD_LED_GREEN,
> >  }, {
> >        .name                   = "palmld:amber:led",
> >        .default_trigger        = "none",
> > -       .gpio                   = GPIO_NR_PALMLD_LED_AMBER,
> > +       .gpio                   = GPIO94_PALMLD_LED_AMBER,
> >  },
> >  };
> > 
> > @@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
> >  {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT,
> > "CABLE_STATE_AC"); +       ret = gpio_request(GPIO4_PALMLD_POWER_DETECT,
> > "CABLE_STATE_AC"); if (ret)
> >                goto err1;
> > -       ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
> > +       ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
> >        if (ret)
> >                goto err2;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N,
> > "CABLE_STATE_USB"); +       ret =
> > gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB"); if (ret)
> >                goto err2;
> > -       ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
> > +       ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
> >        if (ret)
> >                goto err3;
> > 
> >        return 0;
> > 
> >  err3:
> > -       gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
> > +       gpio_free(GPIO3_PALMLD_USB_DETECT_N);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
> > +       gpio_free(GPIO4_PALMLD_POWER_DETECT);
> >  err1:
> >        return ret;
> >  }
> > 
> >  static int palmld_is_ac_online(void)
> >  {
> > -       return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
> > +       return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
> >  }
> > 
> >  static int palmld_is_usb_online(void)
> >  {
> > -       return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
> > +       return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
> >  }
> > 
> >  static void power_supply_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
> > -       gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
> > +       gpio_free(GPIO3_PALMLD_USB_DETECT_N);
> > +       gpio_free(GPIO4_PALMLD_POWER_DETECT);
> >  }
> > 
> >  static char *palmld_supplicants[] = {
> > @@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
> >  };
> > 
> >  static struct palm27x_asoc_info palmld_asoc_pdata = {
> > -       .jack_gpio      = GPIO_NR_PALMLD_EARPHONE_DETECT,
> > +       .jack_gpio      = GPIO13_PALMLD_EARPHONE_DETECT,
> >  };
> > 
> >  static struct platform_device palmld_asoc = {
> > diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
> > index 0b36d7d..8037cfc 100644
> > --- a/arch/arm/mach-pxa/palmt5.c
> > +++ b/arch/arm/mach-pxa/palmt5.c
> > @@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata =
> > {
> > ************************************************************************
> > ******/ static struct pxamci_platform_data palmt5_mci_platform_data = {
> > .ocr_mask               = MMC_VDD_32_33 | MMC_VDD_33_34,
> > -       .gpio_card_detect       = GPIO_NR_PALMT5_SD_DETECT_N,
> > -       .gpio_card_ro           = GPIO_NR_PALMT5_SD_READONLY,
> > -       .gpio_power             = GPIO_NR_PALMT5_SD_POWER,
> > +       .gpio_card_detect       = GPIO14_PALMT5_SD_DETECT_N,
> > +       .gpio_card_ro           = GPIO115_PALMT5_SD_READONLY,
> > +       .gpio_power             = GPIO114_PALMT5_SD_POWER,
> >        .detect_delay_ms        = 200,
> >  };
> > 
> > @@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data
> > palmt5_keypad_platform_data = { * GPIO keys
> >  ************************************************************************
> > ******/ static struct gpio_keys_button palmt5_pxa_buttons[] = {
> > -       {KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> > +       {KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> >  };
> > 
> >  static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
> > @@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device
> > *dev) {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
> > +       ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
> >        if (ret)
> >                goto err;
> > -       ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
> > +       ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
> > +       ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
> > +       ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
> >        if (ret)
> >                goto err3;
> > 
> >        return 0;
> >  err3:
> > -       gpio_free(GPIO_NR_PALMT5_LCD_POWER);
> > +       gpio_free(GPIO96_PALMT5_LCD_POWER);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMT5_BL_POWER);
> > +       gpio_free(GPIO84_PALMT5_BL_POWER);
> >  err:
> >        return ret;
> >  }
> > 
> >  static int palmt5_backlight_notify(struct device *dev, int brightness)
> >  {
> > -       gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
> > -       gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
> > +       gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
> > +       gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
> >        return brightness;
> >  }
> > 
> >  static void palmt5_backlight_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMT5_BL_POWER);
> > -       gpio_free(GPIO_NR_PALMT5_LCD_POWER);
> > +       gpio_free(GPIO84_PALMT5_BL_POWER);
> > +       gpio_free(GPIO96_PALMT5_LCD_POWER);
> >  }
> > 
> >  static struct platform_pwm_backlight_data palmt5_backlight_data = {
> > @@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
> >  * IrDA
> >  ************************************************************************
> > ******/ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
> > -       .gpio_pwdown            = GPIO_NR_PALMT5_IR_DISABLE,
> > +       .gpio_pwdown            = GPIO40_PALMT5_IR_DISABLE,
> >        .transceiver_cap        = IR_SIRMODE | IR_OFF,
> >  };
> > 
> > @@ -233,9 +233,9 @@ static struct pxaficp_platform_data
> > palmt5_ficp_platform_data = { * UDC
> >  ************************************************************************
> > ******/ static struct gpio_vbus_mach_info palmt5_udc_info = {
> > -       .gpio_vbus              = GPIO_NR_PALMT5_USB_DETECT_N,
> > +       .gpio_vbus              = GPIO15_PALMT5_USB_DETECT_N,
> >        .gpio_vbus_inverted     = 1,
> > -       .gpio_pullup            = GPIO_NR_PALMT5_USB_PULLUP,
> > +       .gpio_pullup            = GPIO93_PALMT5_USB_PULLUP,
> >  };
> > 
> >  static struct platform_device palmt5_gpio_vbus = {
> > @@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
> >  {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT,
> > "CABLE_STATE_AC"); +       ret =
> > gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC"); if (ret)
> >                goto err1;
> > -       ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
> > +       ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
> >        if (ret)
> >                goto err2;
> > 
> >        return 0;
> >  err2:
> > -       gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
> > +       gpio_free(GPIO90_PALMT5_POWER_DETECT);
> >  err1:
> >        return ret;
> >  }
> > 
> >  static int palmt5_is_ac_online(void)
> >  {
> > -       return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
> > +       return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
> >  }
> > 
> >  static void power_supply_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
> > +       gpio_free(GPIO90_PALMT5_POWER_DETECT);
> >  }
> > 
> >  static char *palmt5_supplicants[] = {
> > @@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
> >  };
> > 
> >  static struct palm27x_asoc_info palmt5_asoc_pdata = {
> > -       .jack_gpio      = GPIO_NR_PALMT5_EARPHONE_DETECT,
> > +       .jack_gpio      = GPIO107_PALMT5_EARPHONE_DETECT,
> >  };
> > 
> >  static struct platform_device palmt5_asoc = {
> > @@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata =
> > { /* setup udc GPIOs initial state */
> >  static void __init palmt5_udc_init(void)
> >  {
> > -       if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
> > -               gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
> > -               gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
> > +       if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
> > +               gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
> > +               gpio_free(GPIO93_PALMT5_USB_PULLUP);
> >        }
> >  }
> > 
> > diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
> > index a5429cd..a835034 100644
> > --- a/arch/arm/mach-pxa/palmtx.c
> > +++ b/arch/arm/mach-pxa/palmtx.c
> > @@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
> >  ************************************************************************
> > ******/ static struct pxamci_platform_data palmtx_mci_platform_data = {
> > .ocr_mask               = MMC_VDD_32_33 | MMC_VDD_33_34,
> > -       .gpio_card_detect       = GPIO_NR_PALMTX_SD_DETECT_N,
> > -       .gpio_card_ro           = GPIO_NR_PALMTX_SD_READONLY,
> > -       .gpio_power             = GPIO_NR_PALMTX_SD_POWER,
> > +       .gpio_card_detect       = GPIO14_PALMTX_SD_DETECT_N,
> > +       .gpio_card_ro           = GPIO115_PALMTX_SD_READONLY,
> > +       .gpio_power             = GPIO114_PALMTX_SD_POWER,
> >        .detect_delay_ms        = 200,
> >  };
> > 
> > @@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data
> > palmtx_keypad_platform_data = { * GPIO keys
> >  ************************************************************************
> > ******/ static struct gpio_keys_button palmtx_pxa_buttons[] = {
> > -       {KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> > +       {KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
> >  };
> > 
> >  static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
> > @@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device
> > *dev) {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
> > +       ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
> >        if (ret)
> >                goto err;
> > -       ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
> > +       ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
> > +       ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
> > +       ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
> >        if (ret)
> >                goto err3;
> > 
> >        return 0;
> >  err3:
> > -       gpio_free(GPIO_NR_PALMTX_LCD_POWER);
> > +       gpio_free(GPIO96_PALMTX_LCD_POWER);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMTX_BL_POWER);
> > +       gpio_free(GPIO84_PALMTX_BL_POWER);
> >  err:
> >        return ret;
> >  }
> > 
> >  static int palmtx_backlight_notify(struct device *dev, int brightness)
> >  {
> > -       gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
> > -       gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
> > +       gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
> > +       gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
> >        return brightness;
> >  }
> > 
> >  static void palmtx_backlight_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMTX_BL_POWER);
> > -       gpio_free(GPIO_NR_PALMTX_LCD_POWER);
> > +       gpio_free(GPIO84_PALMTX_BL_POWER);
> > +       gpio_free(GPIO96_PALMTX_LCD_POWER);
> >  }
> > 
> >  static struct platform_pwm_backlight_data palmtx_backlight_data = {
> > @@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
> >  * IrDA
> >  ************************************************************************
> > ******/ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
> > -       .gpio_pwdown            = GPIO_NR_PALMTX_IR_DISABLE,
> > +       .gpio_pwdown            = GPIO40_PALMTX_IR_DISABLE,
> >        .transceiver_cap        = IR_SIRMODE | IR_OFF,
> >  };
> > 
> > @@ -293,9 +293,9 @@ static struct pxaficp_platform_data
> > palmtx_ficp_platform_data = { * UDC
> >  ************************************************************************
> > ******/ static struct gpio_vbus_mach_info palmtx_udc_info = {
> > -       .gpio_vbus              = GPIO_NR_PALMTX_USB_DETECT_N,
> > +       .gpio_vbus              = GPIO13_PALMTX_USB_DETECT_N,
> >        .gpio_vbus_inverted     = 1,
> > -       .gpio_pullup            = GPIO_NR_PALMTX_USB_PULLUP,
> > +       .gpio_pullup            = GPIO93_PALMTX_USB_PULLUP,
> >  };
> > 
> >  static struct platform_device palmtx_gpio_vbus = {
> > @@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
> >  {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT,
> > "CABLE_STATE_AC"); +       ret =
> > gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC"); if (ret)
> >                goto err1;
> > -       ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
> > +       ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
> >        if (ret)
> >                goto err2;
> > 
> >        return 0;
> > 
> >  err2:
> > -       gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
> > +       gpio_free(GPIO12_PALMTX_POWER_DETECT);
> >  err1:
> >        return ret;
> >  }
> > 
> >  static int palmtx_is_ac_online(void)
> >  {
> > -       return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
> > +       return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
> >  }
> > 
> >  static void power_supply_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
> > +       gpio_free(GPIO12_PALMTX_POWER_DETECT);
> >  }
> > 
> >  static char *palmtx_supplicants[] = {
> > @@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
> >  };
> > 
> >  static struct palm27x_asoc_info palmtx_asoc_pdata = {
> > -       .jack_gpio      = GPIO_NR_PALMTX_EARPHONE_DETECT,
> > +       .jack_gpio      = GPIO107_PALMTX_EARPHONE_DETECT,
> >  };
> > 
> >  static struct platform_device palmtx_asoc = {
> > @@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
> >  /* setup udc GPIOs initial state */
> >  static void __init palmtx_udc_init(void)
> >  {
> > -       if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
> > -               gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
> > -               gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
> > +       if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
> > +               gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
> > +               gpio_free(GPIO93_PALMTX_USB_PULLUP);
> >        }
> >  }
> > 
> > diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
> > index b78c6b4..91bc5a3 100644
> > --- a/arch/arm/mach-pxa/palmz72.c
> > +++ b/arch/arm/mach-pxa/palmz72.c
> > @@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata
> > = { * select, i.e. it is inverted */
> >  static struct pxamci_platform_data palmz72_mci_platform_data = {
> >        .ocr_mask               = MMC_VDD_32_33 | MMC_VDD_33_34,
> > -       .gpio_card_detect       = GPIO_NR_PALMZ72_SD_DETECT_N,
> > -       .gpio_card_ro           = GPIO_NR_PALMZ72_SD_RO,
> > -       .gpio_power             = GPIO_NR_PALMZ72_SD_POWER_N,
> > +       .gpio_card_detect       = GPIO14_PALMZ72_SD_DETECT_N,
> > +       .gpio_card_ro           = GPIO115_PALMZ72_SD_RO,
> > +       .gpio_power             = GPIO98_PALMZ72_SD_POWER_N,
> >        .gpio_power_invert      = 1,
> >  };
> > 
> > @@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device
> > *dev) {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
> > +       ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
> >        if (ret)
> >                goto err;
> > -       ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
> > +       ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
> > +       ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
> > +       ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
> >        if (ret)
> >                goto err3;
> > 
> >        return 0;
> >  err3:
> > -       gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
> > +       gpio_free(GPIO96_PALMZ72_LCD_POWER);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMZ72_BL_POWER);
> > +       gpio_free(GPIO20_PALMZ72_BL_POWER);
> >  err:
> >        return ret;
> >  }
> > 
> >  static int palmz72_backlight_notify(struct device *dev, int brightness)
> >  {
> > -       gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
> > -       gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
> > +       gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
> > +       gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
> >        return brightness;
> >  }
> > 
> >  static void palmz72_backlight_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMZ72_BL_POWER);
> > -       gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
> > +       gpio_free(GPIO20_PALMZ72_BL_POWER);
> > +       gpio_free(GPIO96_PALMZ72_LCD_POWER);
> >  }
> > 
> >  static struct platform_pwm_backlight_data palmz72_backlight_data = {
> > @@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
> >  * IrDA
> >  ************************************************************************
> > ******/ static struct pxaficp_platform_data palmz72_ficp_platform_data =
> > { -       .gpio_pwdown            = GPIO_NR_PALMZ72_IR_DISABLE,
> > +       .gpio_pwdown            = GPIO49_PALMZ72_IR_DISABLE,
> >        .transceiver_cap        = IR_SIRMODE | IR_OFF,
> >  };
> > 
> > @@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
> >        {
> >                .name                   = "palmz72:green:led",
> >                .default_trigger        = "none",
> > -               .gpio                   = GPIO_NR_PALMZ72_LED_GREEN,
> > +               .gpio                   = GPIO88_PALMZ72_LED_GREEN,
> >        },
> >  };
> > 
> > @@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
> >  * UDC
> >  ************************************************************************
> > ******/ static struct gpio_vbus_mach_info palmz72_udc_info = {
> > -       .gpio_vbus              = GPIO_NR_PALMZ72_USB_DETECT_N,
> > -       .gpio_pullup            = GPIO_NR_PALMZ72_USB_PULLUP,
> > +       .gpio_vbus              = GPIO15_PALMZ72_USB_DETECT_N,
> > +       .gpio_pullup            = GPIO95_PALMZ72_USB_PULLUP,
> >  };
> > 
> >  static struct platform_device palmz72_gpio_vbus = {
> > @@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
> >  {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT,
> > "CABLE_STATE_AC"); +       ret =
> > gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC"); if (ret)
> >                goto err1;
> > -       ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
> > +       ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
> >        if (ret)
> >                goto err2;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N,
> > "CABLE_STATE_USB"); +       ret =
> > gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB"); if (ret)
> >                goto err2;
> > -       ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
> > +       ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
> >        if (ret)
> >                goto err3;
> > 
> >        return 0;
> >  err3:
> > -       gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
> > +       gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
> > +       gpio_free(GPIO0_PALMZ72_POWER_DETECT);
> >  err1:
> >        return ret;
> >  }
> > 
> >  static int palmz72_is_ac_online(void)
> >  {
> > -       return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
> > +       return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
> >  }
> > 
> >  static int palmz72_is_usb_online(void)
> >  {
> > -       return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
> > +       return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
> >  }
> > 
> >  static void power_supply_exit(struct device *dev)
> >  {
> > -       gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
> > -       gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
> > +       gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
> > +       gpio_free(GPIO0_PALMZ72_POWER_DETECT);
> >  }
> > 
> >  static char *palmz72_supplicants[] = {
> > @@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata =
> > { /* setup udc GPIOs initial state */
> >  static void __init palmz72_udc_init(void)
> >  {
> > -       if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
> > -               gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
> > -               gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
> > +       if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
> > +               gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
> > +               gpio_free(GPIO95_PALMZ72_USB_PULLUP);
> >        }
> >  }
> > 
> > diff --git a/configs/config-colibri b/configs/config-colibri
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/configs/config-income b/configs/config-income
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/configs/config-littleton b/configs/config-littleton
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/configs/config-vpac270 b/configs/config-vpac270
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/configs/config-vpac270-minimal
> > b/configs/config-vpac270-minimal new file mode 100644
> > index 0000000..e69de29
> > diff --git a/configs/config-zaurus b/configs/config-zaurus
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
> > new file mode 100644
> > index 0000000..e69de29
> > diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
> > index 11fb4cc..7ca74d6 100644
> > --- a/drivers/ata/pata_palmld.c
> > +++ b/drivers/ata/pata_palmld.c
> > @@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct
> > platform_device *pdev) return -ENOMEM;
> > 
> >        /* request and activate power GPIO, IRQ GPIO */
> > -       ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
> > +       ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
> >        if (ret)
> >                goto err1;
> > -       ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
> > +       ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
> >        if (ret)
> >                goto err2;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
> > +       ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
> > +       ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
> >        if (ret)
> >                goto err3;
> > 
> >        /* reset the drive */
> > -       gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
> > +       gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
> >        msleep(30);
> > -       gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
> > +       gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
> >        msleep(30);
> > 
> >        /* setup the ata port */
> > @@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct
> > platform_device *pdev) &palmld_sht);
> > 
> >  err3:
> > -       gpio_free(GPIO_NR_PALMLD_IDE_RESET);
> > +       gpio_free(GPIO98_PALMLD_IDE_RESET);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
> > +       gpio_free(GPIO115_PALMLD_IDE_PWEN);
> >  err1:
> >        return ret;
> >  }
> > @@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct
> > platform_device *dev) ata_host_detach(host);
> > 
> >        /* power down the HDD */
> > -       gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
> > +       gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
> > 
> > -       gpio_free(GPIO_NR_PALMLD_IDE_RESET);
> > -       gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
> > +       gpio_free(GPIO98_PALMLD_IDE_RESET);
> > +       gpio_free(GPIO115_PALMLD_IDE_PWEN);
> > 
> >        return 0;
> >  }
> > diff --git a/drivers/pcmcia/pxa2xx_palmld.c
> > b/drivers/pcmcia/pxa2xx_palmld.c index 6fb6f7f..4317657 100644
> > --- a/drivers/pcmcia/pxa2xx_palmld.c
> > +++ b/drivers/pcmcia/pxa2xx_palmld.c
> > @@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct
> > soc_pcmcia_socket *skt) {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
> > +       ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
> >        if (ret)
> >                goto err1;
> > -       ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
> > +       ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
> >        if (ret)
> >                goto err2;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
> > +       ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
> > +       ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
> >        if (ret)
> >                goto err3;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
> > +       ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
> >        if (ret)
> >                goto err3;
> > -       ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
> > +       ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
> >        if (ret)
> >                goto err4;
> > 
> > -       skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
> > +       skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
> >        return 0;
> > 
> >  err4:
> > -       gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
> > +       gpio_free(GPIO38_PALMLD_PCMCIA_READY);
> >  err3:
> > -       gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
> > +       gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
> > +       gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
> >  err1:
> >        return ret;
> >  }
> > 
> >  static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
> >  {
> > -       gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
> > -       gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
> > -       gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
> > +       gpio_free(GPIO38_PALMLD_PCMCIA_READY);
> > +       gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
> > +       gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
> >  }
> > 
> >  static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
> >                                        struct pcmcia_state *state)
> >  {
> >        state->detect = 1; /* always inserted */
> > -       state->ready  = !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
> > +       state->ready  = !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
> >        state->bvd1   = 1;
> >        state->bvd2   = 1;
> >        state->wrprot = 0;
> > @@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct
> > soc_pcmcia_socket *skt, static int palmld_pcmcia_configure_socket(struct
> > soc_pcmcia_socket *skt, const socket_state_t *state) {
> > -       gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
> > -       gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
> > +       gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
> > +       gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
> >                        !!(state->flags & SS_RESET));
> > 
> >        return 0;
> > diff --git a/drivers/pcmcia/pxa2xx_palmtx.c
> > b/drivers/pcmcia/pxa2xx_palmtx.c index b07b247..cc80531 100644
> > --- a/drivers/pcmcia/pxa2xx_palmtx.c
> > +++ b/drivers/pcmcia/pxa2xx_palmtx.c
> > @@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct
> > soc_pcmcia_socket *skt) {
> >        int ret;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
> > +       ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
> >        if (ret)
> >                goto err1;
> > -       ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
> > +       ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
> >        if (ret)
> >                goto err2;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
> > +       ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
> >        if (ret)
> >                goto err2;
> > -       ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
> > +       ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
> >        if (ret)
> >                goto err3;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
> > +       ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
> >        if (ret)
> >                goto err3;
> > -       ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
> > +       ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
> >        if (ret)
> >                goto err4;
> > 
> > -       ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
> > +       ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
> >        if (ret)
> >                goto err4;
> > -       ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
> > +       ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
> >        if (ret)
> >                goto err5;
> > 
> > -       skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
> > +       skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
> >        return 0;
> > 
> >  err5:
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
> > +       gpio_free(GPIO116_PALMTX_PCMCIA_READY);
> >  err4:
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
> > +       gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
> >  err3:
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
> > +       gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
> >  err2:
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
> > +       gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
> >  err1:
> >        return ret;
> >  }
> > 
> >  static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
> >  {
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
> > -       gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
> > +       gpio_free(GPIO116_PALMTX_PCMCIA_READY);
> > +       gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
> > +       gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
> > +       gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
> >  }
> > 
> >  static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
> >                                        struct pcmcia_state *state)
> >  {
> >        state->detect = 1; /* always inserted */
> > -       state->ready  = !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
> > +       state->ready  = !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
> >        state->bvd1   = 1;
> >        state->bvd2   = 1;
> >        state->wrprot = 0;
> > @@ -92,9 +92,9 @@ static int
> >  palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
> >                                const socket_state_t *state)
> >  {
> > -       gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
> > -       gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
> > -       gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
> > +       gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
> > +       gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
> > +       gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
> >                        !!(state->flags & SS_RESET));
> > 
> >        return 0;
> > --
> > 1.7.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 2/5] pxa: Introduce Palm27x
  2010-07-13  8:14   ` Eric Miao
@ 2010-07-13  9:59     ` Marek Vasut
  0 siblings, 0 replies; 12+ messages in thread
From: Marek Vasut @ 2010-07-13  9:59 UTC (permalink / raw)
  To: linux-arm-kernel

Dne ?t 13. ?ervence 2010 10:14:17 Eric Miao napsal(a):
> On Tue, Jul 13, 2010 at 3:38 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
> > This contains common code for Palm LD, TX, T5, Z72
> 
> Not enough sure about the commonalities between these PALM code .vs.
> the differences. Yet my simple idea is:
> 
> palm27x.c - for all pxa27x based machines
> palm25x.c - for all pxa25x based machines

Right, this is the first step toward it.
> 
> See ezx.c, I'd pretty much like number of files being reduced in
> mach-pxa/*.
> 
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > ---
> >  arch/arm/mach-pxa/Kconfig                |    3 +
> >  arch/arm/mach-pxa/Makefile               |    1 +
> >  arch/arm/mach-pxa/include/mach/palm27x.h |   48 +++
> >  arch/arm/mach-pxa/palm27x.c              |  473
> > ++++++++++++++++++++++++++++++ 4 files changed, 525 insertions(+), 0
> > deletions(-)
> >  create mode 100644 arch/arm/mach-pxa/include/mach/palm27x.h
> > 
> > diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
> > index 2ff0b32..f3eaade 100644
> > --- a/arch/arm/mach-pxa/Kconfig
> > +++ b/arch/arm/mach-pxa/Kconfig
> > @@ -347,6 +347,9 @@ config ARCH_PXA_PALM
> >        bool "PXA based Palm PDAs"
> >        select HAVE_PWM
> > 
> > +config MACH_PALM27X
> > +       bool
> > +
> >  config MACH_PALMTE2
> >        bool "Palm Tungsten|E2"
> >        default y
> > diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
> > index 3f72218..20c80e8 100644
> > --- a/arch/arm/mach-pxa/Makefile
> > +++ b/arch/arm/mach-pxa/Makefile
> > @@ -75,6 +75,7 @@ obj-$(CONFIG_PXA_EZX)           += ezx.o
> >  obj-$(CONFIG_MACH_MP900C)      += mp900.o
> >  obj-$(CONFIG_MACH_PALMTE2)     += palmte2.o
> >  obj-$(CONFIG_MACH_PALMTC)      += palmtc.o
> > +obj-$(CONFIG_MACH_PALM27X)     += palm27x.o
> >  obj-$(CONFIG_MACH_PALMT5)      += palmt5.o
> >  obj-$(CONFIG_MACH_PALMTX)      += palmtx.o
> >  obj-$(CONFIG_MACH_PALMZ72)     += palmz72.o
> > diff --git a/arch/arm/mach-pxa/include/mach/palm27x.h
> > b/arch/arm/mach-pxa/include/mach/palm27x.h new file mode 100644
> > index 0000000..94ae6d9
> > --- /dev/null
> > +++ b/arch/arm/mach-pxa/include/mach/palm27x.h
> > @@ -0,0 +1,48 @@
> > +/*
> > + * Common functions for Palm LD, T5, TX, Z72
> > + *
> > + * Copyright (C) 2010
> > + * Marek Vasut <marek.vasut@gmail.com>
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License version 2 as
> > + * published by the Free Software Foundation.
> > + *
> > + */
> > +
> > +struct palm27x_handheld {
> > +       /* SD/MMC */
> > +       int             mmc_detect;
> > +       int             mmc_ro;
> > +       int             mmc_power;
> > +
> > +       /* PM */
> > +       unsigned long   pm_str_base;
> > +
> > +       /* UDC */
> > +       int             udc_detect;
> > +       int             udc_pullup;
> > +
> > +       /* IrDA */
> > +       int             irda_pwdn;
> > +
> > +       /* Battery */
> > +       int             batt_minv;
> > +       int             batt_maxv;
> > +
> > +       /* Audio */
> > +       int             jack_gpio;
> > +
> > +       /* Backlight */
> > +       int             bl_bl;
> > +       int             bl_lcd;
> > +
> > +       /* Power supply */
> > +       int             power_ac;
> > +       int             power_usb;
> > +
> > +       /* LCD */
> > +       int             lcd_power;
> > +};
> > +
> > +extern void __init palm27x_common_init(struct palm27x_handheld *);
> > diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
> > index e69de29..6d7b978 100644
> > --- a/arch/arm/mach-pxa/palm27x.c
> > +++ b/arch/arm/mach-pxa/palm27x.c
> > @@ -0,0 +1,473 @@
> > +/*
> > + * Common code for Palm LD, T5, TX, Z72
> > + *
> > + * Copyright (C) 2010
> > + * Marek Vasut <marek.vasut@gmail.com>
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License version 2 as
> > + * published by the Free Software Foundation.
> > + *
> > + */
> > +
> > +#include <linux/platform_device.h>
> > +#include <linux/delay.h>
> > +#include <linux/irq.h>
> > +#include <linux/gpio_keys.h>
> > +#include <linux/input.h>
> > +#include <linux/pda_power.h>
> > +#include <linux/pwm_backlight.h>
> > +#include <linux/gpio.h>
> > +#include <linux/wm97xx.h>
> > +#include <linux/power_supply.h>
> > +#include <linux/usb/gpio_vbus.h>
> > +
> > +#include <asm/mach-types.h>
> > +#include <asm/mach/arch.h>
> > +#include <asm/mach/map.h>
> > +
> > +#include <mach/pxa27x.h>
> > +#include <mach/audio.h>
> > +#include <mach/mmc.h>
> > +#include <mach/pxafb.h>
> > +#include <mach/irda.h>
> > +#include <mach/udc.h>
> > +#include <mach/palmasoc.h>
> > +#include <mach/palm27x.h>
> > +
> > +#include "generic.h"
> > +#include "devices.h"
> > +
> > +/***********************************************************************
> > ******* + * SD/MMC card controller
> > +
> > ************************************************************************
> > ******/ +#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
> > +static struct pxamci_platform_data palm27x_mci_platform_data = {
> > +       .ocr_mask               = MMC_VDD_32_33 | MMC_VDD_33_34,
> > +       .detect_delay_ms        = 200,
> > +};
> > +
> > +static void __init palm27x_mmc_init(int detect, int ro, int power)
> > +{
> > +       palm27x_mci_platform_data.gpio_card_detect      = detect;
> > +       palm27x_mci_platform_data.gpio_card_ro          = ro;
> > +       palm27x_mci_platform_data.gpio_power            = power;
> > +
> > +       if (machine_is_palmz72() || machine_is_centro())
> > +               palm27x_mci_platform_data.gpio_power_invert = 1;
> > +
> > +       pxa_set_mci_info(&palm27x_mci_platform_data);
> > +}
> > +#else
> > +static inline void palm27x_mmc_init(int detect, int ro, int power) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * Power management - standby
> > +
> > ************************************************************************
> > ******/ +#if defined(CONFIG_SUSPEND)
> > +static void __init palm27x_pm_init(unsigned long str_base)
> > +{
> > +       static const unsigned long resume[] = {
> > +               0xe3a00101,     /* mov  r0,     #0x40000000 */
> > +               0xe380060f,     /* orr  r0, r0, #0x00f00000 */
> > +               0xe590f008,     /* ldr  pc, [r0, #0x08] */
> > +       };
> > +
> > +       /*
> > +        * Copy the bootloader.
> > +        * NOTE: PalmZ72 uses a different wakeup method!
> > +        */
> > +       if (!machine_is_palmz72())
> > +               memcpy(phys_to_virt(str_base), resume, sizeof(resume));
> > +}
> > +#else
> > +static inline void palm27x_pm_init(unsigned long str_base) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * Framebuffer
> > +
> > ************************************************************************
> > ******/ +/*
> > + * NOTE: PalmZ72 has so called HiRes screen -- 320x320
> > + *       The rest of devices has HiRes+ screen -- 320x480
> > + */
> > +#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
> > +static struct pxafb_mode_info palm27x_modes[] = {
> > +       {
> > +               .pixclock       = 57692,
> > +               .xres           = 320,
> > +               .yres           = 480,
> > +               .bpp            = 16,
> > +
> > +               .left_margin    = 32,
> > +               .right_margin   = 1,
> > +               .upper_margin   = 7,
> > +               .lower_margin   = 1,
> > +
> > +               .hsync_len      = 4,
> > +               .vsync_len      = 1,
> > +       }, {
> > +               .pixclock       = 115384,
> > +               .xres           = 320,
> > +               .yres           = 320,
> > +               .bpp            = 16,
> > +
> > +               .left_margin    = 27,
> > +               .right_margin   = 7,
> > +               .upper_margin   = 7,
> > +               .lower_margin   = 8,
> > +
> > +               .hsync_len      = 6,
> > +               .vsync_len      = 1,
> > +       }, {
> > +               .pixclock       = 86538,
> > +               .xres           = 320,
> > +               .yres           = 320,
> > +               .bpp            = 16,
> > +
> > +               .left_margin    = 20,
> > +               .right_margin   = 8,
> > +               .upper_margin   = 8,
> > +               .lower_margin   = 5,
> > +
> > +               .hsync_len      = 4,
> > +               .vsync_len      = 1,
> > +       }
> > +};
> > +
> > +static struct pxafb_mach_info palm27x_lcd_screen = {
> > +       .num_modes      = 1,
> > +       .lcd_conn       = LCD_COLOR_TFT_16BPP | LCD_PCLK_EDGE_FALL,
> > +};
> > +
> > +static int palm27x_lcd_power;
> > +static void palm27x_lcd_ctl(int on, struct fb_var_screeninfo *info)
> > +{
> > +       gpio_set_value(palm27x_lcd_power, on);
> > +}
> > +
> > +static void __init palm27x_lcd_init(int power)
> > +{
> > +       if (machine_is_palmz72())
> > +               palm27x_lcd_screen.modes = &palm27x_modes[0];
> > +       else
> > +               palm27x_lcd_screen.modes = &palm27x_modes[1];
> > +
> > +       if (gpio_is_valid(power)) {
> > +               if (!gpio_request(power, "LCD power")) {
> > +                       pr_err("Palm27x: failed to claim lcd power
> > gpio!\n"); +                       return;
> > +               }
> > +               if (!gpio_direction_output(power, 1)) {
> > +                       pr_err("Palm27x: lcd power configuration
> > failed!\n"); +                       return;
> > +               }
> > +               palm27x_lcd_power = power;
> > +               palm27x_lcd_screen.pxafb_lcd_power = palm27x_lcd_ctl;
> > +       }
> > +
> > +       set_pxa_fb_info(&palm27x_lcd_screen);
> > +}
> > +
> > +#else
> > +static inline void palm27x_lcd_init(int power) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * USB Gadget
> > +
> > ************************************************************************
> > ******/ +#if    defined(CONFIG_USB_GADGET_PXA27X) || \
> > +       defined(CONFIG_USB_GADGET_PXA27X_MODULE)
> > +static struct gpio_vbus_mach_info palm27x_udc_info = {
> > +       .gpio_vbus_inverted     = 1,
> > +};
> > +
> > +static struct platform_device palm27x_gpio_vbus = {
> > +       .name   = "gpio-vbus",
> > +       .id     = -1,
> > +       .dev    = {
> > +               .platform_data  = &palm27x_udc_info,
> > +       },
> > +};
> > +
> > +static void __init palm27x_udc_init(int vbus, int pullup)
> > +{
> > +       if (machine_is_palmld())
> > +               return;
> > +
> > +       palm27x_udc_info.gpio_vbus      = vbus;
> > +       palm27x_udc_info.gpio_pullup    = pullup;
> > +
> > +       if (machine_is_palmz72())
> > +               palm27x_udc_info.gpio_vbus_inverted = 0;
> > +
> > +       if (!gpio_request(pullup, "USB Pullup")) {
> > +               gpio_direction_output(pullup,
> > +                       palm27x_udc_info.gpio_vbus_inverted);
> > +               gpio_free(pullup);
> > +       } else
> > +               return;
> > +
> > +       platform_device_register(&palm27x_gpio_vbus);
> > +}
> > +#else
> > +static inline void palm27x_udc_init(int vbus, int pullup) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * IrDA
> > +
> > ************************************************************************
> > ******/ +#if defined(CONFIG_IRDA) || defined(CONFIG_IRDA_MODULE)
> > +static struct pxaficp_platform_data palm27x_ficp_platform_data = {
> > +       .transceiver_cap        = IR_SIRMODE | IR_OFF,
> > +};
> > +
> > +static void __init palm27x_irda_init(int pwdn)
> > +{
> > +       palm27x_ficp_platform_data.gpio_pwdown = pwdn;
> > +       pxa_set_ficp_info(&palm27x_ficp_platform_data);
> > +}
> > +#else
> > +static inline void palm27x_irda_init(int pwdn) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * WM97xx audio, battery
> > +
> > ************************************************************************
> > ******/ +#if    defined(CONFIG_TOUCHSCREEN_WM97XX) || \
> > +       defined(CONFIG_TOUCHSCREEN_WM97XX_MODULE)
> > +static struct wm97xx_batt_pdata palm27x_batt_pdata = {
> > +       .batt_aux       = WM97XX_AUX_ID3,
> > +       .temp_aux       = WM97XX_AUX_ID2,
> > +       .charge_gpio    = -1,
> > +       .batt_mult      = 1000,
> > +       .batt_div       = 414,
> > +       .temp_mult      = 1,
> > +       .temp_div       = 1,
> > +       .batt_tech      = POWER_SUPPLY_TECHNOLOGY_LIPO,
> > +       .batt_name      = "main-batt",
> > +};
> > +
> > +static struct wm97xx_pdata palm27x_wm97xx_pdata = {
> > +       .batt_pdata     = &palm27x_batt_pdata,
> > +};
> > +
> > +static pxa2xx_audio_ops_t palm27x_ac97_pdata = {
> > +       .codec_pdata    = { &palm27x_wm97xx_pdata, },
> > +};
> > +
> > +static struct palm27x_asoc_info palm27x_asoc_pdata = {
> > +       .jack_gpio      = -1,
> > +};
> > +
> > +static struct platform_device palm27x_asoc = {
> > +       .name = "palm27x-asoc",
> > +       .id   = -1,
> > +       .dev  = {
> > +               .platform_data = &palm27x_asoc_pdata,
> > +       },
> > +};
> > +
> > +static void __init palm27x_ac97_init(int minv, int maxv, int jack)
> > +{
> > +       if (!machine_is_palmz72())
> > +               palm27x_ac97_pdata.reset_gpio = 95;
> > +       else
> > +               palm27x_asoc_pdata.jack_gpio = jack;
> > +
> > +       if (machine_is_treo680() || machine_is_centro()) {
> > +               palm27x_ac97_pdata.codec_pdata[0] = NULL;
> > +               pxa_set_ac97_info(&palm27x_ac97_pdata);
> > +       } else {
> > +               palm27x_batt_pdata.min_voltage  = minv,
> > +               palm27x_batt_pdata.max_voltage  = maxv,
> > +
> > +               pxa_set_ac97_info(&palm27x_ac97_pdata);
> > +               platform_device_register(&palm27x_asoc);
> > +       }
> > +}
> > +#else
> > +static inline void palm27x_ac97_init(int minv, int maxv, int jack) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * Backlight
> > +
> > ************************************************************************
> > ******/ +#if defined(CONFIG_BACKLIGHT_PWM) ||
> > defined(CONFIG_BACKLIGHT_PWM_MODULE) +struct {
> > +       int     bl_power;
> > +       int     lcd_power;
> > +} palm27x_bl_info;
> > +
> > +static int palm27x_backlight_init(struct device *dev)
> > +{
> > +       int ret;
> > +
> > +       ret = gpio_request(palm27x_bl_info.bl_power, "BL POWER");
> > +       if (ret)
> > +               goto err;
> > +       ret = gpio_direction_output(palm27x_bl_info.bl_power, 0);
> > +       if (ret)
> > +               goto err2;
> > +
> > +       if (gpio_is_valid(palm27x_bl_info.lcd_power)) {
> > +               ret = gpio_request(palm27x_bl_info.lcd_power, "LCD
> > POWER"); +               if (ret)
> > +                       goto err2;
> > +               ret = gpio_direction_output(palm27x_bl_info.lcd_power,
> > 0); +               if (ret)
> > +                       goto err3;
> > +       }
> > +
> > +       return 0;
> > +err3:
> > +       gpio_free(palm27x_bl_info.lcd_power);
> > +err2:
> > +       gpio_free(palm27x_bl_info.bl_power);
> > +err:
> > +       return ret;
> > +}
> > +
> > +static int palm27x_backlight_notify(struct device *dev, int brightness)
> > +{
> > +       gpio_set_value(palm27x_bl_info.bl_power, brightness);
> > +       if (gpio_is_valid(palm27x_bl_info.lcd_power))
> > +               gpio_set_value(palm27x_bl_info.lcd_power, brightness);
> > +       return brightness;
> > +}
> > +
> > +static void palm27x_backlight_exit(struct device *dev)
> > +{
> > +       gpio_free(palm27x_bl_info.bl_power);
> > +       if (gpio_is_valid(palm27x_bl_info.lcd_power))
> > +               gpio_free(palm27x_bl_info.lcd_power);
> > +}
> > +
> > +static struct platform_pwm_backlight_data palm27x_backlight_data = {
> > +       .pwm_id         = 0,
> > +       .max_brightness = 0xfe,
> > +       .dft_brightness = 0x7e,
> > +       .pwm_period_ns  = 3500,
> > +       .init           = palm27x_backlight_init,
> > +       .notify         = palm27x_backlight_notify,
> > +       .exit           = palm27x_backlight_exit,
> > +};
> > +
> > +static struct platform_device palm27x_backlight = {
> > +       .name   = "pwm-backlight",
> > +       .dev    = {
> > +               .parent         = &pxa27x_device_pwm0.dev,
> > +               .platform_data  = &palm27x_backlight_data,
> > +       },
> > +};
> > +
> > +static void __init palm27x_pwm_init(int bl, int lcd)
> > +{
> > +       palm27x_bl_info.bl_power        = bl;
> > +       palm27x_bl_info.lcd_power       = lcd;
> > +       platform_device_register(&palm27x_backlight);
> > +}
> > +#else
> > +static inline void palm27x_pwm_init(int bl, int lcd) {}
> > +#endif
> > +
> > +/***********************************************************************
> > ******* + * Power supply
> > +
> > ************************************************************************
> > ******/ +#if defined(CONFIG_PDA_POWER) ||
> > defined(CONFIG_PDA_POWER_MODULE) +struct {
> > +       int     ac_state;
> > +       int     usb_state;
> > +} palm27x_power_info;
> > +
> > +static int palm27x_power_supply_init(struct device *dev)
> > +{
> > +       int ret;
> > +
> > +       ret = gpio_request(palm27x_power_info.ac_state, "AC state");
> > +       if (ret)
> > +               goto err1;
> > +       ret = gpio_direction_input(palm27x_power_info.ac_state);
> > +       if (ret)
> > +               goto err2;
> > +
> > +       if (gpio_is_valid(palm27x_power_info.usb_state)) {
> > +               ret = gpio_request(palm27x_power_info.usb_state, "USB
> > state"); +               if (ret)
> > +                       goto err2;
> > +               ret = gpio_direction_input(palm27x_power_info.usb_state);
> > +               if (ret)
> > +                       goto err3;
> > +       }
> > +
> > +       return 0;
> > +err3:
> > +       gpio_free(palm27x_power_info.usb_state);
> > +err2:
> > +       gpio_free(palm27x_power_info.ac_state);
> > +err1:
> > +       return ret;
> > +}
> > +
> > +static void palm27x_power_supply_exit(struct device *dev)
> > +{
> > +       gpio_free(palm27x_power_info.usb_state);
> > +       gpio_free(palm27x_power_info.ac_state);
> > +}
> > +
> > +static int palm27x_is_ac_online(void)
> > +{
> > +       return gpio_get_value(palm27x_power_info.ac_state);
> > +}
> > +
> > +static int palm27x_is_usb_online(void)
> > +{
> > +       return !gpio_get_value(palm27x_power_info.usb_state);
> > +}
> > +static char *palm27x_supplicants[] = {
> > +       "main-battery",
> > +};
> > +
> > +static struct pda_power_pdata palm27x_ps_info = {
> > +       .init                   = palm27x_power_supply_init,
> > +       .exit                   = palm27x_power_supply_exit,
> > +       .is_ac_online           = palm27x_is_ac_online,
> > +       .is_usb_online          = palm27x_is_usb_online,
> > +       .supplied_to            = palm27x_supplicants,
> > +       .num_supplicants        = ARRAY_SIZE(palm27x_supplicants),
> > +};
> > +
> > +static struct platform_device palm27x_power_supply = {
> > +       .name = "pda-power",
> > +       .id   = -1,
> > +       .dev  = {
> > +               .platform_data = &palm27x_ps_info,
> > +       },
> > +};
> > +
> > +static void __init palm27x_power_init(int ac, int usb)
> > +{
> > +       palm27x_power_info.ac_state     = ac;
> > +       palm27x_power_info.usb_state    = usb;
> > +       platform_device_register(&palm27x_power_supply);
> > +}
> > +#else
> > +static inline void palm27x_power_init(int ac, int usb) {}
> > +#endif
> > +
> > +void __init palm27x_common_init(struct palm27x_handheld *palm)
> > +{
> > +       pxa_set_ffuart_info(NULL);
> > +       pxa_set_btuart_info(NULL);
> > +       pxa_set_stuart_info(NULL);
> > +
> > +       palm27x_mmc_init(palm->mmc_detect, palm->mmc_ro,
> > palm->mmc_power); +       palm27x_pm_init(palm->pm_str_base);
> > +       palm27x_lcd_init(palm->lcd_power);
> > +       palm27x_udc_init(palm->udc_detect, palm->udc_pullup);
> > +       palm27x_irda_init(palm->irda_pwdn);
> > +       palm27x_ac97_init(palm->batt_minv, palm->batt_maxv,
> > palm->jack_gpio); +       palm27x_pwm_init(palm->bl_bl, palm->bl_lcd);
> > +       palm27x_power_init(palm->power_ac, palm->power_usb);
> > +}
> > --
> > 1.7.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
  2010-07-13  9:58   ` Marek Vasut
@ 2010-07-13 10:20     ` Eric Miao
  2010-07-13 16:20       ` Joe Perches
  0 siblings, 1 reply; 12+ messages in thread
From: Eric Miao @ 2010-07-13 10:20 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jul 13, 2010 at 5:58 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
> Dne ?t 13. ?ervence 2010 10:10:31 Eric Miao napsal(a):
>> On Tue, Jul 13, 2010 at 3:38 PM, Marek Vasut <marek.vasut@gmail.com> wrote:
>> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
>> > ---
>> > ?arch/arm/mach-pxa/include/mach/palmld.h ?| ? 58
>> > ++++++++++++++-------------- arch/arm/mach-pxa/include/mach/palmt5.h ?|
>> > ? 30 +++++++-------
>> > ?arch/arm/mach-pxa/include/mach/palmtx.h ?| ? 44 +++++++++++-----------
>> > ?arch/arm/mach-pxa/include/mach/palmz72.h | ? 28 +++++++-------
>>
>> What's wrong with the original naming scheme?
>
> GPIO_NR was never intended to be used. It's some stupidity with historic roots.
> (NR == number ... it was intended to be substituted, but never was ... time to
> do it).

I think it's acceptable - my preferable choice would be GPIO_xxxx. But
the idea of encoding GPIO number into the macro itself is not good. E.g.
GPIO_MMC_DETECT is self explanatory, no need for GPIO9_MMC_DETECT.
Later you find the GPIO number is actually 10, now you have to modify
_every_ place this macro appears, instead of a one liner patch.

>>
>> > ?arch/arm/mach-pxa/palmld.c ? ? ? ? ? ? ? | ? 60
>> > +++++++++++++++--------------- arch/arm/mach-pxa/palmt5.c
>> > | ? 52 +++++++++++++------------- arch/arm/mach-pxa/palmtx.c
>> > ? | ? 52 +++++++++++++------------- arch/arm/mach-pxa/palmz72.c
>> > ? ? ?| ? 60 +++++++++++++++--------------- drivers/ata/pata_palmld.c
>> > ? ? ? ? ? ?| ? 22 +++++-----
>> > ?drivers/pcmcia/pxa2xx_palmld.c ? ? ? ? ? | ? 32 ++++++++--------
>> > ?drivers/pcmcia/pxa2xx_palmtx.c ? ? ? ? ? | ? 42 ++++++++++----------
>> > ?11 files changed, 240 insertions(+), 240 deletions(-)
>> > ?create mode 100644 arch/arm/mach-pxa/palm27x.c
>> > ?create mode 100644 configs/config-colibri
>> > ?create mode 100644 configs/config-income
>> > ?create mode 100644 configs/config-littleton
>> > ?create mode 100644 configs/config-vpac270
>> > ?create mode 100644 configs/config-vpac270-minimal
>> > ?create mode 100644 configs/config-zaurus
>> > ?create mode 100644 configs/config-zipitz2
>>
>> And what's this config crap for?
>
> Oh jeez ... git is making fun from me
>>
>> > diff --git a/arch/arm/mach-pxa/include/mach/palmld.h
>> > b/arch/arm/mach-pxa/include/mach/palmld.h index ae536e8..8f9034d 100644
>> > --- a/arch/arm/mach-pxa/include/mach/palmld.h
>> > +++ b/arch/arm/mach-pxa/include/mach/palmld.h
>> > @@ -16,55 +16,55 @@
>> > ?/** HERE ARE GPIOs **/
>> >
>> > ?/* GPIOs */
>> > -#define GPIO_NR_PALMLD_GPIO_RESET ? ? ?1
>> > -#define GPIO_NR_PALMLD_POWER_DETECT ? ?4
>> > -#define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N ? ? ? ?10
>> > -#define GPIO_NR_PALMLD_POWER_SWITCH ? ?12
>> > -#define GPIO_NR_PALMLD_EARPHONE_DETECT ? ? ? ? 13
>> > -#define GPIO_NR_PALMLD_LOCK_SWITCH ? ? 15
>> > +#define GPIO1_PALMLD_GPIO_RESET ? ? ? ? ? ? ? ?1
>> > +#define GPIO4_PALMLD_POWER_DETECT ? ? ?4
>> > +#define GPIO10_PALMLD_HOTSYNC_BUTTON_N 10
>> > +#define GPIO12_PALMLD_POWER_SWITCH ? ? 12
>> > +#define GPIO13_PALMLD_EARPHONE_DETECT ?13
>> > +#define GPIO15_PALMLD_LOCK_SWITCH ? ? ?15
>> >
>> > ?/* SD/MMC */
>> > -#define GPIO_NR_PALMLD_SD_DETECT_N ? ? 14
>> > -#define GPIO_NR_PALMLD_SD_POWER ? ? ? ? ? ? ? ?114
>> > -#define GPIO_NR_PALMLD_SD_READONLY ? ? 116
>> > +#define GPIO14_PALMLD_SD_DETECT_N ? ? ?14
>> > +#define GPIO114_PALMLD_SD_POWER ? ? ? ? ? ? ? ?114
>> > +#define GPIO116_PALMLD_SD_READONLY ? ? 116
>> >
>> > ?/* TOUCHSCREEN */
>> > -#define GPIO_NR_PALMLD_WM9712_IRQ ? ? ?27
>> > +#define GPIO27_PALMLD_WM9712_IRQ ? ? ? 27
>> >
>> > ?/* IRDA */
>> > -#define GPIO_NR_PALMLD_IR_DISABLE ? ? ?108
>> > +#define GPIO108_PALMLD_IR_DISABLE ? ? ?108
>> >
>> > ?/* LCD/BACKLIGHT */
>> > -#define GPIO_NR_PALMLD_BL_POWER ? ? ? ? ? ? ? ?19
>> > -#define GPIO_NR_PALMLD_LCD_POWER ? ? ? 96
>> > +#define GPIO19_PALMLD_BL_POWER ? ? ? ? 19
>> > +#define GPIO96_PALMLD_LCD_POWER ? ? ? ? ? ? ? ?96
>> >
>> > ?/* LCD BORDER */
>> > -#define GPIO_NR_PALMLD_BORDER_SWITCH ? 21
>> > -#define GPIO_NR_PALMLD_BORDER_SELECT ? 22
>> > +#define GPIO21_PALMLD_BORDER_SWITCH ? ?21
>> > +#define GPIO22_PALMLD_BORDER_SELECT ? ?22
>> >
>> > ?/* BLUETOOTH */
>> > -#define GPIO_NR_PALMLD_BT_POWER ? ? ? ? ? ? ? ?17
>> > -#define GPIO_NR_PALMLD_BT_RESET ? ? ? ? ? ? ? ?83
>> > +#define GPIO17_PALMLD_BT_POWER ? ? ? ? 17
>> > +#define GPIO83_PALMLD_BT_RESET ? ? ? ? 83
>> >
>> > ?/* PCMCIA (WiFi) */
>> > -#define GPIO_NR_PALMLD_PCMCIA_READY ? ?38
>> > -#define GPIO_NR_PALMLD_PCMCIA_POWER ? ?36
>> > -#define GPIO_NR_PALMLD_PCMCIA_RESET ? ?81
>> > +#define GPIO38_PALMLD_PCMCIA_READY ? ? 38
>> > +#define GPIO36_PALMLD_PCMCIA_POWER ? ? 36
>> > +#define GPIO81_PALMLD_PCMCIA_RESET ? ? 81
>> >
>> > ?/* LEDs */
>> > -#define GPIO_NR_PALMLD_LED_GREEN ? ? ? 52
>> > -#define GPIO_NR_PALMLD_LED_AMBER ? ? ? 94
>> > +#define GPIO52_PALMLD_LED_GREEN ? ? ? ? ? ? ? ?52
>> > +#define GPIO94_PALMLD_LED_AMBER ? ? ? ? ? ? ? ?94
>> >
>> > ?/* IDE */
>> > -#define GPIO_NR_PALMLD_IDE_RESET ? ? ? 98
>> > -#define GPIO_NR_PALMLD_IDE_PWEN ? ? ? ? ? ? ? ?115
>> > +#define GPIO98_PALMLD_IDE_RESET ? ? ? ? ? ? ? ?98
>> > +#define GPIO115_PALMLD_IDE_PWEN ? ? ? ? ? ? ? ?115
>> >
>> > ?/* USB */
>> > -#define GPIO_NR_PALMLD_USB_DETECT_N ? ?3
>> > -#define GPIO_NR_PALMLD_USB_READY ? ? ? 86
>> > -#define GPIO_NR_PALMLD_USB_RESET ? ? ? 88
>> > -#define GPIO_NR_PALMLD_USB_INT ? ? ? ? 106
>> > -#define GPIO_NR_PALMLD_USB_POWER ? ? ? 118
>> > +#define GPIO3_PALMLD_USB_DETECT_N ? ? ?3
>> > +#define GPIO86_PALMLD_USB_READY ? ? ? ? ? ? ? ?86
>> > +#define GPIO88_PALMLD_USB_RESET ? ? ? ? ? ? ? ?88
>> > +#define GPIO106_PALMLD_USB_INT ? ? ? ? 106
>> > +#define GPIO118_PALMLD_USB_POWER ? ? ? 118
>> > ?/* 20, 53 and 86 are usb related too */
>> >
>> > ?/* INTERRUPTS */
>> > diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h
>> > b/arch/arm/mach-pxa/include/mach/palmt5.h index 6baf746..d70bb62 100644
>> > --- a/arch/arm/mach-pxa/include/mach/palmt5.h
>> > +++ b/arch/arm/mach-pxa/include/mach/palmt5.h
>> > @@ -18,34 +18,34 @@
>> > ?/** HERE ARE GPIOs **/
>> >
>> > ?/* GPIOs */
>> > -#define GPIO_NR_PALMT5_GPIO_RESET ? ? ? ? ? ? ?1
>> > +#define GPIO1_PALMT5_GPIO_RESET ? ? ? ? ? ? ? ? ? ? ? ?1
>> >
>> > -#define GPIO_NR_PALMT5_POWER_DETECT ? ? ? ? ? ?90
>> > -#define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N ? ? ? ? ? ? ? ?10
>> > -#define GPIO_NR_PALMT5_EARPHONE_DETECT ? ? ? ? 107
>> > +#define GPIO90_PALMT5_POWER_DETECT ? ? ? ? ? ? 90
>> > +#define GPIO10_PALMT5_HOTSYNC_BUTTON_N ? ? ? ? 10
>> > +#define GPIO107_PALMT5_EARPHONE_DETECT ? ? ? ? 107
>> >
>> > ?/* SD/MMC */
>> > -#define GPIO_NR_PALMT5_SD_DETECT_N ? ? ? ? ? ? 14
>> > -#define GPIO_NR_PALMT5_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114
>> > -#define GPIO_NR_PALMT5_SD_READONLY ? ? ? ? ? ? 115
>> > +#define GPIO14_PALMT5_SD_DETECT_N ? ? ? ? ? ? ?14
>> > +#define GPIO114_PALMT5_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114
>> > +#define GPIO115_PALMT5_SD_READONLY ? ? ? ? ? ? 115
>> >
>> > ?/* TOUCHSCREEN */
>> > -#define GPIO_NR_PALMT5_WM9712_IRQ ? ? ? ? ? ? ?27
>> > +#define GPIO27_PALMT5_WM9712_IRQ ? ? ? ? ? ? ? 27
>> >
>> > ?/* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ?
>> > */ -#define GPIO_NR_PALMT5_IR_DISABLE ? ? ? ? ? ? ?40
>> > +#define GPIO40_PALMT5_IR_DISABLE ? ? ? ? ? ? ? 40
>> >
>> > ?/* USB */
>> > -#define GPIO_NR_PALMT5_USB_DETECT_N ? ? ? ? ? ?15
>> > -#define GPIO_NR_PALMT5_USB_PULLUP ? ? ? ? ? ? ?93
>> > +#define GPIO15_PALMT5_USB_DETECT_N ? ? ? ? ? ? 15
>> > +#define GPIO93_PALMT5_USB_PULLUP ? ? ? ? ? ? ? 93
>> >
>> > ?/* LCD/BACKLIGHT */
>> > -#define GPIO_NR_PALMT5_BL_POWER ? ? ? ? ? ? ? ? ? ? ? ?84
>> > -#define GPIO_NR_PALMT5_LCD_POWER ? ? ? ? ? ? ? 96
>> > +#define GPIO84_PALMT5_BL_POWER ? ? ? ? ? ? ? ? 84
>> > +#define GPIO96_PALMT5_LCD_POWER ? ? ? ? ? ? ? ? ? ? ? ?96
>> >
>> > ?/* BLUETOOTH */
>> > -#define GPIO_NR_PALMT5_BT_POWER ? ? ? ? ? ? ? ? ? ? ? ?17
>> > -#define GPIO_NR_PALMT5_BT_RESET ? ? ? ? ? ? ? ? ? ? ? ?83
>> > +#define GPIO17_PALMT5_BT_POWER ? ? ? ? ? ? ? ? 17
>> > +#define GPIO83_PALMT5_BT_RESET ? ? ? ? ? ? ? ? 83
>> >
>> > ?/* INTERRUPTS */
>> > ?#define IRQ_GPIO_PALMT5_SD_DETECT_N
>> > ?IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N) diff --git
>> > a/arch/arm/mach-pxa/include/mach/palmtx.h
>> > b/arch/arm/mach-pxa/include/mach/palmtx.h index 10abc4f..8b97b4d 100644
>> > --- a/arch/arm/mach-pxa/include/mach/palmtx.h
>> > +++ b/arch/arm/mach-pxa/include/mach/palmtx.h
>> > @@ -19,47 +19,47 @@
>> > ?/** HERE ARE GPIOs **/
>> >
>> > ?/* GPIOs */
>> > -#define GPIO_NR_PALMTX_GPIO_RESET ? ? ? ? ? ? ?1
>> > +#define GPIO1_PALMTX_GPIO_RESET ? ? ? ? ? ? ? ? ? ? ? ?1
>> >
>> > -#define GPIO_NR_PALMTX_POWER_DETECT ? ? ? ? ? ?12 /* 90 */
>> > -#define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N ? ? ? ? ? ? ? ?10
>> > -#define GPIO_NR_PALMTX_EARPHONE_DETECT ? ? ? ? 107
>> > +#define GPIO12_PALMTX_POWER_DETECT ? ? ? ? ? ? 12 /* 90 */
>> > +#define GPIO10_PALMTX_HOTSYNC_BUTTON_N ? ? ? ? 10
>> > +#define GPIO107_PALMTX_EARPHONE_DETECT ? ? ? ? 107
>> >
>> > ?/* SD/MMC */
>> > -#define GPIO_NR_PALMTX_SD_DETECT_N ? ? ? ? ? ? 14
>> > -#define GPIO_NR_PALMTX_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114 /* probably
>> > */ -#define GPIO_NR_PALMTX_SD_READONLY ? ? ? ? ? ? 115 /* probably */
>> > +#define GPIO14_PALMTX_SD_DETECT_N ? ? ? ? ? ? ?14
>> > +#define GPIO114_PALMTX_SD_POWER ? ? ? ? ? ? ? ? ? ? ? ?114 /* probably
>> > */ +#define GPIO115_PALMTX_SD_READONLY ? ? ? ? ? ? 115 /* probably */
>> >
>> > ?/* TOUCHSCREEN */
>> > -#define GPIO_NR_PALMTX_WM9712_IRQ ? ? ? ? ? ? ?27
>> > +#define GPIO27_PALMTX_WM9712_IRQ ? ? ? ? ? ? ? 27
>> >
>> > ?/* IRDA - ?disable GPIO connected to SD pin of tranceiver (TFBS4710?) ?
>> > */ -#define GPIO_NR_PALMTX_IR_DISABLE ? ? ? ? ? ? ?40
>> > +#define GPIO40_PALMTX_IR_DISABLE ? ? ? ? ? ? ? 40
>> >
>> > ?/* USB */
>> > -#define GPIO_NR_PALMTX_USB_DETECT_N ? ? ? ? ? ?13
>> > -#define GPIO_NR_PALMTX_USB_PULLUP ? ? ? ? ? ? ?93
>> > +#define GPIO13_PALMTX_USB_DETECT_N ? ? ? ? ? ? 13
>> > +#define GPIO93_PALMTX_USB_PULLUP ? ? ? ? ? ? ? 93
>> >
>> > ?/* LCD/BACKLIGHT */
>> > -#define GPIO_NR_PALMTX_BL_POWER ? ? ? ? ? ? ? ? ? ? ? ?84
>> > -#define GPIO_NR_PALMTX_LCD_POWER ? ? ? ? ? ? ? 96
>> > +#define GPIO84_PALMTX_BL_POWER ? ? ? ? ? ? ? ? 84
>> > +#define GPIO96_PALMTX_LCD_POWER ? ? ? ? ? ? ? ? ? ? ? ?96
>> >
>> > ?/* LCD BORDER */
>> > -#define GPIO_NR_PALMTX_BORDER_SWITCH ? ? ? ? ? 98
>> > -#define GPIO_NR_PALMTX_BORDER_SELECT ? ? ? ? ? 22
>> > +#define GPIO98_PALMTX_BORDER_SWITCH ? ? ? ? ? ?98
>> > +#define GPIO22_PALMTX_BORDER_SELECT ? ? ? ? ? ?22
>> >
>> > ?/* BLUETOOTH */
>> > -#define GPIO_NR_PALMTX_BT_POWER ? ? ? ? ? ? ? ? ? ? ? ?17
>> > -#define GPIO_NR_PALMTX_BT_RESET ? ? ? ? ? ? ? ? ? ? ? ?83
>> > +#define GPIO17_PALMTX_BT_POWER ? ? ? ? ? ? ? ? 17
>> > +#define GPIO83_PALMTX_BT_RESET ? ? ? ? ? ? ? ? 83
>> >
>> > ?/* PCMCIA (WiFi) */
>> > -#define GPIO_NR_PALMTX_PCMCIA_POWER1 ? ? ? ? ? 94
>> > -#define GPIO_NR_PALMTX_PCMCIA_POWER2 ? ? ? ? ? 108
>> > -#define GPIO_NR_PALMTX_PCMCIA_RESET ? ? ? ? ? ?79
>> > -#define GPIO_NR_PALMTX_PCMCIA_READY ? ? ? ? ? ?116
>> > +#define GPIO94_PALMTX_PCMCIA_POWER1 ? ? ? ? ? ?94
>> > +#define GPIO108_PALMTX_PCMCIA_POWER2 ? ? ? ? ? 108
>> > +#define GPIO79_PALMTX_PCMCIA_RESET ? ? ? ? ? ? 79
>> > +#define GPIO116_PALMTX_PCMCIA_READY ? ? ? ? ? ?116
>> >
>> > ?/* NAND Flash ... this GPIO may be incorrect! */
>> > -#define GPIO_NR_PALMTX_NAND_BUFFER_DIR ? ? ? ? 79
>> > +#define GPIO79_PALMTX_NAND_BUFFER_DIR ? ? ? ? ?79
>> >
>> > ?/* INTERRUPTS */
>> > ?#define IRQ_GPIO_PALMTX_SD_DETECT_N
>> > ?IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N) diff --git
>> > a/arch/arm/mach-pxa/include/mach/palmz72.h
>> > b/arch/arm/mach-pxa/include/mach/palmz72.h index 2bbcf70..83dced5 100644
>> > --- a/arch/arm/mach-pxa/include/mach/palmz72.h
>> > +++ b/arch/arm/mach-pxa/include/mach/palmz72.h
>> > @@ -15,34 +15,34 @@
>> > ?#define _INCLUDE_PALMZ72_H_
>> >
>> > ?/* Power and control */
>> > -#define GPIO_NR_PALMZ72_GPIO_RESET ? ? ? ? ? ? 1
>> > -#define GPIO_NR_PALMZ72_POWER_DETECT ? ? ? ? ? 0
>> > +#define GPIO1_PALMZ72_GPIO_RESET ? ? ? ? ? ? ? 1
>> > +#define GPIO0_PALMZ72_POWER_DETECT ? ? ? ? ? ? 0
>> >
>> > ?/* SD/MMC */
>> > -#define GPIO_NR_PALMZ72_SD_DETECT_N ? ? ? ? ? ?14
>> > -#define GPIO_NR_PALMZ72_SD_POWER_N ? ? ? ? ? ? 98
>> > -#define GPIO_NR_PALMZ72_SD_RO ? ? ? ? ? ? ? ? ?115
>> > +#define GPIO14_PALMZ72_SD_DETECT_N ? ? ? ? ? ? 14
>> > +#define GPIO98_PALMZ72_SD_POWER_N ? ? ? ? ? ? ?98
>> > +#define GPIO115_PALMZ72_SD_RO ? ? ? ? ? ? ? ? ?115
>> >
>> > ?/* Touchscreen */
>> > -#define GPIO_NR_PALMZ72_WM9712_IRQ ? ? ? ? ? ? 27
>> > +#define GPIO27_PALMZ72_WM9712_IRQ ? ? ? ? ? ? ?27
>> >
>> > ?/* IRDA - ?disable GPIO connected to SD pin of tranceiver (TFBS4710?) ?
>> > */ -#define GPIO_NR_PALMZ72_IR_DISABLE ? ? ? ? ? ? 49
>> > +#define GPIO49_PALMZ72_IR_DISABLE ? ? ? ? ? ? ?49
>> >
>> > ?/* USB */
>> > -#define GPIO_NR_PALMZ72_USB_DETECT_N ? ? ? ? ? 15
>> > -#define GPIO_NR_PALMZ72_USB_PULLUP ? ? ? ? ? ? 95
>> > +#define GPIO15_PALMZ72_USB_DETECT_N ? ? ? ? ? ?15
>> > +#define GPIO95_PALMZ72_USB_PULLUP ? ? ? ? ? ? ?95
>> >
>> > ?/* LCD/Backlight */
>> > -#define GPIO_NR_PALMZ72_BL_POWER ? ? ? ? ? ? ? 20
>> > -#define GPIO_NR_PALMZ72_LCD_POWER ? ? ? ? ? ? ?96
>> > +#define GPIO20_PALMZ72_BL_POWER ? ? ? ? ? ? ? ? ? ? ? ?20
>> > +#define GPIO96_PALMZ72_LCD_POWER ? ? ? ? ? ? ? 96
>> >
>> > ?/* LED */
>> > -#define GPIO_NR_PALMZ72_LED_GREEN ? ? ? ? ? ? ?88
>> > +#define GPIO88_PALMZ72_LED_GREEN ? ? ? ? ? ? ? 88
>> >
>> > ?/* Bluetooth */
>> > -#define GPIO_NR_PALMZ72_BT_POWER ? ? ? ? ? ? ? 17
>> > -#define GPIO_NR_PALMZ72_BT_RESET ? ? ? ? ? ? ? 83
>> > +#define GPIO17_PALMZ72_BT_POWER ? ? ? ? ? ? ? ? ? ? ? ?17
>> > +#define GPIO83_PALMZ72_BT_RESET ? ? ? ? ? ? ? ? ? ? ? ?83
>> >
>> > ?/** Initial values **/
>> >
>> > diff --git a/arch/arm/mach-pxa/palm27x.c b/arch/arm/mach-pxa/palm27x.c
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
>> > index 83a1a55..bec35e2 100644
>> > --- a/arch/arm/mach-pxa/palmld.c
>> > +++ b/arch/arm/mach-pxa/palmld.c
>> > @@ -165,9 +165,9 @@ static struct platform_device palmld_flash = {
>> > ?************************************************************************
>> > ******/ static struct pxamci_platform_data palmld_mci_platform_data = {
>> > .ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
>> > - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMLD_SD_DETECT_N,
>> > - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMLD_SD_READONLY,
>> > - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMLD_SD_POWER,
>> > + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMLD_SD_DETECT_N,
>> > + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO116_PALMLD_SD_READONLY,
>> > + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO114_PALMLD_SD_POWER,
>> > ? ? ? ?.detect_delay_ms ? ? ? ?= 200,
>> > ?};
>> >
>> > @@ -204,9 +204,9 @@ static struct pxa27x_keypad_platform_data
>> > palmld_keypad_platform_data = { * GPIO keys
>> > ?************************************************************************
>> > ******/ static struct gpio_keys_button palmld_pxa_buttons[] = {
>> > - ? ? ? {KEY_F8, GPIO_NR_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
>> > - ? ? ? {KEY_F9, GPIO_NR_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
>> > - ? ? ? {KEY_POWER, GPIO_NR_PALMLD_POWER_SWITCH, 0, "Power Switch" },
>> > + ? ? ? {KEY_F8, GPIO10_PALMLD_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
>> > + ? ? ? {KEY_F9, GPIO15_PALMLD_LOCK_SWITCH, 0, "Lock Switch" },
>> > + ? ? ? {KEY_POWER, GPIO12_PALMLD_POWER_SWITCH, 0, "Power Switch" },
>> > ?};
>> >
>> > ?static struct gpio_keys_platform_data palmld_pxa_keys_data = {
>> > @@ -229,39 +229,39 @@ static int palmld_backlight_init(struct device
>> > *dev) {
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_BL_POWER, "BL POWER");
>> > + ? ? ? ret = gpio_request(GPIO19_PALMLD_BL_POWER, "BL POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_BL_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO19_PALMLD_BL_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_LCD_POWER, "LCD POWER");
>> > + ? ? ? ret = gpio_request(GPIO96_PALMLD_LCD_POWER, "LCD POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_LCD_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO96_PALMLD_LCD_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?return 0;
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMLD_LCD_POWER);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_BL_POWER);
>> > + ? ? ? gpio_free(GPIO19_PALMLD_BL_POWER);
>> > ?err:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmld_backlight_notify(struct device *dev, int brightness)
>> > ?{
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_BL_POWER, brightness);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_LCD_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO19_PALMLD_BL_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO96_PALMLD_LCD_POWER, brightness);
>> > ? ? ? ?return brightness;
>> > ?}
>> >
>> > ?static void palmld_backlight_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_BL_POWER);
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO19_PALMLD_BL_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMLD_LCD_POWER);
>> > ?}
>> >
>> > ?static struct platform_pwm_backlight_data palmld_backlight_data = {
>> > @@ -286,7 +286,7 @@ static struct platform_device palmld_backlight = {
>> > ?* IrDA
>> > ?************************************************************************
>> > ******/ static struct pxaficp_platform_data palmld_ficp_platform_data = {
>> > - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMLD_IR_DISABLE,
>> > + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO108_PALMLD_IR_DISABLE,
>> > ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
>> > ?};
>> >
>> > @@ -297,11 +297,11 @@ struct gpio_led gpio_leds[] = {
>> > ?{
>> > ? ? ? ?.name ? ? ? ? ? ? ? ? ? = "palmld:green:led",
>> > ? ? ? ?.default_trigger ? ? ? ?= "none",
>> > - ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO_NR_PALMLD_LED_GREEN,
>> > + ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO52_PALMLD_LED_GREEN,
>> > ?}, {
>> > ? ? ? ?.name ? ? ? ? ? ? ? ? ? = "palmld:amber:led",
>> > ? ? ? ?.default_trigger ? ? ? ?= "none",
>> > - ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO_NR_PALMLD_LED_AMBER,
>> > + ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO94_PALMLD_LED_AMBER,
>> > ?},
>> > ?};
>> >
>> > @@ -325,44 +325,44 @@ static int power_supply_init(struct device *dev)
>> > ?{
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_POWER_DETECT,
>> > "CABLE_STATE_AC"); + ? ? ? ret = gpio_request(GPIO4_PALMLD_POWER_DETECT,
>> > "CABLE_STATE_AC"); if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMLD_POWER_DETECT);
>> > + ? ? ? ret = gpio_direction_input(GPIO4_PALMLD_POWER_DETECT);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_USB_DETECT_N,
>> > "CABLE_STATE_USB"); + ? ? ? ret =
>> > gpio_request(GPIO3_PALMLD_USB_DETECT_N, "CABLE_STATE_USB"); if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMLD_USB_DETECT_N);
>> > + ? ? ? ret = gpio_direction_input(GPIO3_PALMLD_USB_DETECT_N);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?return 0;
>> >
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
>> > + ? ? ? gpio_free(GPIO3_PALMLD_USB_DETECT_N);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO4_PALMLD_POWER_DETECT);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmld_is_ac_online(void)
>> > ?{
>> > - ? ? ? return gpio_get_value(GPIO_NR_PALMLD_POWER_DETECT);
>> > + ? ? ? return gpio_get_value(GPIO4_PALMLD_POWER_DETECT);
>> > ?}
>> >
>> > ?static int palmld_is_usb_online(void)
>> > ?{
>> > - ? ? ? return !gpio_get_value(GPIO_NR_PALMLD_USB_DETECT_N);
>> > + ? ? ? return !gpio_get_value(GPIO3_PALMLD_USB_DETECT_N);
>> > ?}
>> >
>> > ?static void power_supply_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_USB_DETECT_N);
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO3_PALMLD_USB_DETECT_N);
>> > + ? ? ? gpio_free(GPIO4_PALMLD_POWER_DETECT);
>> > ?}
>> >
>> > ?static char *palmld_supplicants[] = {
>> > @@ -413,7 +413,7 @@ static pxa2xx_audio_ops_t palmld_ac97_pdata = {
>> > ?};
>> >
>> > ?static struct palm27x_asoc_info palmld_asoc_pdata = {
>> > - ? ? ? .jack_gpio ? ? ?= GPIO_NR_PALMLD_EARPHONE_DETECT,
>> > + ? ? ? .jack_gpio ? ? ?= GPIO13_PALMLD_EARPHONE_DETECT,
>> > ?};
>> >
>> > ?static struct platform_device palmld_asoc = {
>> > diff --git a/arch/arm/mach-pxa/palmt5.c b/arch/arm/mach-pxa/palmt5.c
>> > index 0b36d7d..8037cfc 100644
>> > --- a/arch/arm/mach-pxa/palmt5.c
>> > +++ b/arch/arm/mach-pxa/palmt5.c
>> > @@ -107,9 +107,9 @@ static unsigned long palmt5_pin_config[] __initdata =
>> > {
>> > ************************************************************************
>> > ******/ static struct pxamci_platform_data palmt5_mci_platform_data = {
>> > .ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
>> > - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMT5_SD_DETECT_N,
>> > - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMT5_SD_READONLY,
>> > - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMT5_SD_POWER,
>> > + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMT5_SD_DETECT_N,
>> > + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO115_PALMT5_SD_READONLY,
>> > + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO114_PALMT5_SD_POWER,
>> > ? ? ? ?.detect_delay_ms ? ? ? ?= 200,
>> > ?};
>> >
>> > @@ -145,7 +145,7 @@ static struct pxa27x_keypad_platform_data
>> > palmt5_keypad_platform_data = { * GPIO keys
>> > ?************************************************************************
>> > ******/ static struct gpio_keys_button palmt5_pxa_buttons[] = {
>> > - ? ? ? {KEY_F8, GPIO_NR_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
>> > + ? ? ? {KEY_F8, GPIO10_PALMT5_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
>> > ?};
>> >
>> > ?static struct gpio_keys_platform_data palmt5_pxa_keys_data = {
>> > @@ -168,39 +168,39 @@ static int palmt5_backlight_init(struct device
>> > *dev) {
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMT5_BL_POWER, "BL POWER");
>> > + ? ? ? ret = gpio_request(GPIO84_PALMT5_BL_POWER, "BL POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMT5_BL_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO84_PALMT5_BL_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMT5_LCD_POWER, "LCD POWER");
>> > + ? ? ? ret = gpio_request(GPIO96_PALMT5_LCD_POWER, "LCD POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMT5_LCD_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO96_PALMT5_LCD_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?return 0;
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMT5_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMT5_LCD_POWER);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMT5_BL_POWER);
>> > + ? ? ? gpio_free(GPIO84_PALMT5_BL_POWER);
>> > ?err:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmt5_backlight_notify(struct device *dev, int brightness)
>> > ?{
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMT5_BL_POWER, brightness);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMT5_LCD_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO84_PALMT5_BL_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO96_PALMT5_LCD_POWER, brightness);
>> > ? ? ? ?return brightness;
>> > ?}
>> >
>> > ?static void palmt5_backlight_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMT5_BL_POWER);
>> > - ? ? ? gpio_free(GPIO_NR_PALMT5_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO84_PALMT5_BL_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMT5_LCD_POWER);
>> > ?}
>> >
>> > ?static struct platform_pwm_backlight_data palmt5_backlight_data = {
>> > @@ -225,7 +225,7 @@ static struct platform_device palmt5_backlight = {
>> > ?* IrDA
>> > ?************************************************************************
>> > ******/ static struct pxaficp_platform_data palmt5_ficp_platform_data = {
>> > - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMT5_IR_DISABLE,
>> > + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO40_PALMT5_IR_DISABLE,
>> > ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
>> > ?};
>> >
>> > @@ -233,9 +233,9 @@ static struct pxaficp_platform_data
>> > palmt5_ficp_platform_data = { * UDC
>> > ?************************************************************************
>> > ******/ static struct gpio_vbus_mach_info palmt5_udc_info = {
>> > - ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO_NR_PALMT5_USB_DETECT_N,
>> > + ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO15_PALMT5_USB_DETECT_N,
>> > ? ? ? ?.gpio_vbus_inverted ? ? = 1,
>> > - ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO_NR_PALMT5_USB_PULLUP,
>> > + ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO93_PALMT5_USB_PULLUP,
>> > ?};
>> >
>> > ?static struct platform_device palmt5_gpio_vbus = {
>> > @@ -253,28 +253,28 @@ static int power_supply_init(struct device *dev)
>> > ?{
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMT5_POWER_DETECT,
>> > "CABLE_STATE_AC"); + ? ? ? ret =
>> > gpio_request(GPIO90_PALMT5_POWER_DETECT, "CABLE_STATE_AC"); if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMT5_POWER_DETECT);
>> > + ? ? ? ret = gpio_direction_input(GPIO90_PALMT5_POWER_DETECT);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > ? ? ? ?return 0;
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO90_PALMT5_POWER_DETECT);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmt5_is_ac_online(void)
>> > ?{
>> > - ? ? ? return gpio_get_value(GPIO_NR_PALMT5_POWER_DETECT);
>> > + ? ? ? return gpio_get_value(GPIO90_PALMT5_POWER_DETECT);
>> > ?}
>> >
>> > ?static void power_supply_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMT5_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO90_PALMT5_POWER_DETECT);
>> > ?}
>> >
>> > ?static char *palmt5_supplicants[] = {
>> > @@ -324,7 +324,7 @@ static pxa2xx_audio_ops_t palmt5_ac97_pdata = {
>> > ?};
>> >
>> > ?static struct palm27x_asoc_info palmt5_asoc_pdata = {
>> > - ? ? ? .jack_gpio ? ? ?= GPIO_NR_PALMT5_EARPHONE_DETECT,
>> > + ? ? ? .jack_gpio ? ? ?= GPIO107_PALMT5_EARPHONE_DETECT,
>> > ?};
>> >
>> > ?static struct platform_device palmt5_asoc = {
>> > @@ -392,9 +392,9 @@ static struct platform_device *devices[] __initdata =
>> > { /* setup udc GPIOs initial state */
>> > ?static void __init palmt5_udc_init(void)
>> > ?{
>> > - ? ? ? if (!gpio_request(GPIO_NR_PALMT5_USB_PULLUP, "UDC Vbus")) {
>> > - ? ? ? ? ? ? ? gpio_direction_output(GPIO_NR_PALMT5_USB_PULLUP, 1);
>> > - ? ? ? ? ? ? ? gpio_free(GPIO_NR_PALMT5_USB_PULLUP);
>> > + ? ? ? if (!gpio_request(GPIO93_PALMT5_USB_PULLUP, "UDC Vbus")) {
>> > + ? ? ? ? ? ? ? gpio_direction_output(GPIO93_PALMT5_USB_PULLUP, 1);
>> > + ? ? ? ? ? ? ? gpio_free(GPIO93_PALMT5_USB_PULLUP);
>> > ? ? ? ?}
>> > ?}
>> >
>> > diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
>> > index a5429cd..a835034 100644
>> > --- a/arch/arm/mach-pxa/palmtx.c
>> > +++ b/arch/arm/mach-pxa/palmtx.c
>> > @@ -167,9 +167,9 @@ static struct platform_device palmtx_flash = {
>> > ?************************************************************************
>> > ******/ static struct pxamci_platform_data palmtx_mci_platform_data = {
>> > .ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
>> > - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMTX_SD_DETECT_N,
>> > - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMTX_SD_READONLY,
>> > - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMTX_SD_POWER,
>> > + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMTX_SD_DETECT_N,
>> > + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO115_PALMTX_SD_READONLY,
>> > + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO114_PALMTX_SD_POWER,
>> > ? ? ? ?.detect_delay_ms ? ? ? ?= 200,
>> > ?};
>> >
>> > @@ -205,7 +205,7 @@ static struct pxa27x_keypad_platform_data
>> > palmtx_keypad_platform_data = { * GPIO keys
>> > ?************************************************************************
>> > ******/ static struct gpio_keys_button palmtx_pxa_buttons[] = {
>> > - ? ? ? {KEY_F8, GPIO_NR_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
>> > + ? ? ? {KEY_F8, GPIO10_PALMTX_HOTSYNC_BUTTON_N, 1, "HotSync Button" },
>> > ?};
>> >
>> > ?static struct gpio_keys_platform_data palmtx_pxa_keys_data = {
>> > @@ -228,39 +228,39 @@ static int palmtx_backlight_init(struct device
>> > *dev) {
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
>> > + ? ? ? ret = gpio_request(GPIO84_PALMTX_BL_POWER, "BL POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO84_PALMTX_BL_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
>> > + ? ? ? ret = gpio_request(GPIO96_PALMTX_LCD_POWER, "LCD POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO96_PALMTX_LCD_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?return 0;
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMTX_LCD_POWER);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_BL_POWER);
>> > + ? ? ? gpio_free(GPIO84_PALMTX_BL_POWER);
>> > ?err:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmtx_backlight_notify(struct device *dev, int brightness)
>> > ?{
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMTX_BL_POWER, brightness);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMTX_LCD_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO84_PALMTX_BL_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO96_PALMTX_LCD_POWER, brightness);
>> > ? ? ? ?return brightness;
>> > ?}
>> >
>> > ?static void palmtx_backlight_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_BL_POWER);
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO84_PALMTX_BL_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMTX_LCD_POWER);
>> > ?}
>> >
>> > ?static struct platform_pwm_backlight_data palmtx_backlight_data = {
>> > @@ -285,7 +285,7 @@ static struct platform_device palmtx_backlight = {
>> > ?* IrDA
>> > ?************************************************************************
>> > ******/ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
>> > - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMTX_IR_DISABLE,
>> > + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO40_PALMTX_IR_DISABLE,
>> > ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
>> > ?};
>> >
>> > @@ -293,9 +293,9 @@ static struct pxaficp_platform_data
>> > palmtx_ficp_platform_data = { * UDC
>> > ?************************************************************************
>> > ******/ static struct gpio_vbus_mach_info palmtx_udc_info = {
>> > - ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO_NR_PALMTX_USB_DETECT_N,
>> > + ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO13_PALMTX_USB_DETECT_N,
>> > ? ? ? ?.gpio_vbus_inverted ? ? = 1,
>> > - ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO_NR_PALMTX_USB_PULLUP,
>> > + ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO93_PALMTX_USB_PULLUP,
>> > ?};
>> >
>> > ?static struct platform_device palmtx_gpio_vbus = {
>> > @@ -313,29 +313,29 @@ static int power_supply_init(struct device *dev)
>> > ?{
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT,
>> > "CABLE_STATE_AC"); + ? ? ? ret =
>> > gpio_request(GPIO12_PALMTX_POWER_DETECT, "CABLE_STATE_AC"); if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
>> > + ? ? ? ret = gpio_direction_input(GPIO12_PALMTX_POWER_DETECT);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > ? ? ? ?return 0;
>> >
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO12_PALMTX_POWER_DETECT);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmtx_is_ac_online(void)
>> > ?{
>> > - ? ? ? return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
>> > + ? ? ? return gpio_get_value(GPIO12_PALMTX_POWER_DETECT);
>> > ?}
>> >
>> > ?static void power_supply_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO12_PALMTX_POWER_DETECT);
>> > ?}
>> >
>> > ?static char *palmtx_supplicants[] = {
>> > @@ -385,7 +385,7 @@ static pxa2xx_audio_ops_t palmtx_ac97_pdata = {
>> > ?};
>> >
>> > ?static struct palm27x_asoc_info palmtx_asoc_pdata = {
>> > - ? ? ? .jack_gpio ? ? ?= GPIO_NR_PALMTX_EARPHONE_DETECT,
>> > + ? ? ? .jack_gpio ? ? ?= GPIO107_PALMTX_EARPHONE_DETECT,
>> > ?};
>> >
>> > ?static struct platform_device palmtx_asoc = {
>> > @@ -542,9 +542,9 @@ static void __init palmtx_map_io(void)
>> > ?/* setup udc GPIOs initial state */
>> > ?static void __init palmtx_udc_init(void)
>> > ?{
>> > - ? ? ? if (!gpio_request(GPIO_NR_PALMTX_USB_PULLUP, "UDC Vbus")) {
>> > - ? ? ? ? ? ? ? gpio_direction_output(GPIO_NR_PALMTX_USB_PULLUP, 1);
>> > - ? ? ? ? ? ? ? gpio_free(GPIO_NR_PALMTX_USB_PULLUP);
>> > + ? ? ? if (!gpio_request(GPIO93_PALMTX_USB_PULLUP, "UDC Vbus")) {
>> > + ? ? ? ? ? ? ? gpio_direction_output(GPIO93_PALMTX_USB_PULLUP, 1);
>> > + ? ? ? ? ? ? ? gpio_free(GPIO93_PALMTX_USB_PULLUP);
>> > ? ? ? ?}
>> > ?}
>> >
>> > diff --git a/arch/arm/mach-pxa/palmz72.c b/arch/arm/mach-pxa/palmz72.c
>> > index b78c6b4..91bc5a3 100644
>> > --- a/arch/arm/mach-pxa/palmz72.c
>> > +++ b/arch/arm/mach-pxa/palmz72.c
>> > @@ -115,9 +115,9 @@ static unsigned long palmz72_pin_config[] __initdata
>> > = { * select, i.e. it is inverted */
>> > ?static struct pxamci_platform_data palmz72_mci_platform_data = {
>> > ? ? ? ?.ocr_mask ? ? ? ? ? ? ? = MMC_VDD_32_33 | MMC_VDD_33_34,
>> > - ? ? ? .gpio_card_detect ? ? ? = GPIO_NR_PALMZ72_SD_DETECT_N,
>> > - ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO_NR_PALMZ72_SD_RO,
>> > - ? ? ? .gpio_power ? ? ? ? ? ? = GPIO_NR_PALMZ72_SD_POWER_N,
>> > + ? ? ? .gpio_card_detect ? ? ? = GPIO14_PALMZ72_SD_DETECT_N,
>> > + ? ? ? .gpio_card_ro ? ? ? ? ? = GPIO115_PALMZ72_SD_RO,
>> > + ? ? ? .gpio_power ? ? ? ? ? ? = GPIO98_PALMZ72_SD_POWER_N,
>> > ? ? ? ?.gpio_power_invert ? ? ?= 1,
>> > ?};
>> >
>> > @@ -156,39 +156,39 @@ static int palmz72_backlight_init(struct device
>> > *dev) {
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_BL_POWER, "BL POWER");
>> > + ? ? ? ret = gpio_request(GPIO20_PALMZ72_BL_POWER, "BL POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMZ72_BL_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO20_PALMZ72_BL_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_LCD_POWER, "LCD POWER");
>> > + ? ? ? ret = gpio_request(GPIO96_PALMZ72_LCD_POWER, "LCD POWER");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMZ72_LCD_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO96_PALMZ72_LCD_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?return 0;
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMZ72_LCD_POWER);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_BL_POWER);
>> > + ? ? ? gpio_free(GPIO20_PALMZ72_BL_POWER);
>> > ?err:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmz72_backlight_notify(struct device *dev, int brightness)
>> > ?{
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMZ72_BL_POWER, brightness);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMZ72_LCD_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO20_PALMZ72_BL_POWER, brightness);
>> > + ? ? ? gpio_set_value(GPIO96_PALMZ72_LCD_POWER, brightness);
>> > ? ? ? ?return brightness;
>> > ?}
>> >
>> > ?static void palmz72_backlight_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_BL_POWER);
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_LCD_POWER);
>> > + ? ? ? gpio_free(GPIO20_PALMZ72_BL_POWER);
>> > + ? ? ? gpio_free(GPIO96_PALMZ72_LCD_POWER);
>> > ?}
>> >
>> > ?static struct platform_pwm_backlight_data palmz72_backlight_data = {
>> > @@ -213,7 +213,7 @@ static struct platform_device palmz72_backlight = {
>> > ?* IrDA
>> > ?************************************************************************
>> > ******/ static struct pxaficp_platform_data palmz72_ficp_platform_data =
>> > { - ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO_NR_PALMZ72_IR_DISABLE,
>> > + ? ? ? .gpio_pwdown ? ? ? ? ? ?= GPIO49_PALMZ72_IR_DISABLE,
>> > ? ? ? ?.transceiver_cap ? ? ? ?= IR_SIRMODE | IR_OFF,
>> > ?};
>> >
>> > @@ -224,7 +224,7 @@ static struct gpio_led gpio_leds[] = {
>> > ? ? ? ?{
>> > ? ? ? ? ? ? ? ?.name ? ? ? ? ? ? ? ? ? = "palmz72:green:led",
>> > ? ? ? ? ? ? ? ?.default_trigger ? ? ? ?= "none",
>> > - ? ? ? ? ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO_NR_PALMZ72_LED_GREEN,
>> > + ? ? ? ? ? ? ? .gpio ? ? ? ? ? ? ? ? ? = GPIO88_PALMZ72_LED_GREEN,
>> > ? ? ? ?},
>> > ?};
>> >
>> > @@ -245,8 +245,8 @@ static struct platform_device palmz72_leds = {
>> > ?* UDC
>> > ?************************************************************************
>> > ******/ static struct gpio_vbus_mach_info palmz72_udc_info = {
>> > - ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO_NR_PALMZ72_USB_DETECT_N,
>> > - ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO_NR_PALMZ72_USB_PULLUP,
>> > + ? ? ? .gpio_vbus ? ? ? ? ? ? ?= GPIO15_PALMZ72_USB_DETECT_N,
>> > + ? ? ? .gpio_pullup ? ? ? ? ? ?= GPIO95_PALMZ72_USB_PULLUP,
>> > ?};
>> >
>> > ?static struct platform_device palmz72_gpio_vbus = {
>> > @@ -264,43 +264,43 @@ static int power_supply_init(struct device *dev)
>> > ?{
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_POWER_DETECT,
>> > "CABLE_STATE_AC"); + ? ? ? ret =
>> > gpio_request(GPIO0_PALMZ72_POWER_DETECT, "CABLE_STATE_AC"); if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMZ72_POWER_DETECT);
>> > + ? ? ? ret = gpio_direction_input(GPIO0_PALMZ72_POWER_DETECT);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMZ72_USB_DETECT_N,
>> > "CABLE_STATE_USB"); + ? ? ? ret =
>> > gpio_request(GPIO15_PALMZ72_USB_DETECT_N, "CABLE_STATE_USB"); if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMZ72_USB_DETECT_N);
>> > + ? ? ? ret = gpio_direction_input(GPIO15_PALMZ72_USB_DETECT_N);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?return 0;
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
>> > + ? ? ? gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO0_PALMZ72_POWER_DETECT);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static int palmz72_is_ac_online(void)
>> > ?{
>> > - ? ? ? return gpio_get_value(GPIO_NR_PALMZ72_POWER_DETECT);
>> > + ? ? ? return gpio_get_value(GPIO0_PALMZ72_POWER_DETECT);
>> > ?}
>> >
>> > ?static int palmz72_is_usb_online(void)
>> > ?{
>> > - ? ? ? return !gpio_get_value(GPIO_NR_PALMZ72_USB_DETECT_N);
>> > + ? ? ? return !gpio_get_value(GPIO15_PALMZ72_USB_DETECT_N);
>> > ?}
>> >
>> > ?static void power_supply_exit(struct device *dev)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_USB_DETECT_N);
>> > - ? ? ? gpio_free(GPIO_NR_PALMZ72_POWER_DETECT);
>> > + ? ? ? gpio_free(GPIO15_PALMZ72_USB_DETECT_N);
>> > + ? ? ? gpio_free(GPIO0_PALMZ72_POWER_DETECT);
>> > ?}
>> >
>> > ?static char *palmz72_supplicants[] = {
>> > @@ -468,9 +468,9 @@ static struct platform_device *devices[] __initdata =
>> > { /* setup udc GPIOs initial state */
>> > ?static void __init palmz72_udc_init(void)
>> > ?{
>> > - ? ? ? if (!gpio_request(GPIO_NR_PALMZ72_USB_PULLUP, "USB Pullup")) {
>> > - ? ? ? ? ? ? ? gpio_direction_output(GPIO_NR_PALMZ72_USB_PULLUP, 0);
>> > - ? ? ? ? ? ? ? gpio_free(GPIO_NR_PALMZ72_USB_PULLUP);
>> > + ? ? ? if (!gpio_request(GPIO95_PALMZ72_USB_PULLUP, "USB Pullup")) {
>> > + ? ? ? ? ? ? ? gpio_direction_output(GPIO95_PALMZ72_USB_PULLUP, 0);
>> > + ? ? ? ? ? ? ? gpio_free(GPIO95_PALMZ72_USB_PULLUP);
>> > ? ? ? ?}
>> > ?}
>> >
>> > diff --git a/configs/config-colibri b/configs/config-colibri
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/configs/config-income b/configs/config-income
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/configs/config-littleton b/configs/config-littleton
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/configs/config-vpac270 b/configs/config-vpac270
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/configs/config-vpac270-minimal
>> > b/configs/config-vpac270-minimal new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/configs/config-zaurus b/configs/config-zaurus
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/configs/config-zipitz2 b/configs/config-zipitz2
>> > new file mode 100644
>> > index 0000000..e69de29
>> > diff --git a/drivers/ata/pata_palmld.c b/drivers/ata/pata_palmld.c
>> > index 11fb4cc..7ca74d6 100644
>> > --- a/drivers/ata/pata_palmld.c
>> > +++ b/drivers/ata/pata_palmld.c
>> > @@ -61,24 +61,24 @@ static __devinit int palmld_pata_probe(struct
>> > platform_device *pdev) return -ENOMEM;
>> >
>> > ? ? ? ?/* request and activate power GPIO, IRQ GPIO */
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_IDE_PWEN, "HDD PWR");
>> > + ? ? ? ret = gpio_request(GPIO115_PALMLD_IDE_PWEN, "HDD PWR");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_PWEN, 1);
>> > + ? ? ? ret = gpio_direction_output(GPIO115_PALMLD_IDE_PWEN, 1);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_IDE_RESET, "HDD RST");
>> > + ? ? ? ret = gpio_request(GPIO98_PALMLD_IDE_RESET, "HDD RST");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_IDE_RESET, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO98_PALMLD_IDE_RESET, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > ? ? ? ?/* reset the drive */
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 0);
>> > + ? ? ? gpio_set_value(GPIO98_PALMLD_IDE_RESET, 0);
>> > ? ? ? ?msleep(30);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_IDE_RESET, 1);
>> > + ? ? ? gpio_set_value(GPIO98_PALMLD_IDE_RESET, 1);
>> > ? ? ? ?msleep(30);
>> >
>> > ? ? ? ?/* setup the ata port */
>> > @@ -100,9 +100,9 @@ static __devinit int palmld_pata_probe(struct
>> > platform_device *pdev) &palmld_sht);
>> >
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_RESET);
>> > + ? ? ? gpio_free(GPIO98_PALMLD_IDE_RESET);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
>> > + ? ? ? gpio_free(GPIO115_PALMLD_IDE_PWEN);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> > @@ -114,10 +114,10 @@ static __devexit int palmld_pata_remove(struct
>> > platform_device *dev) ata_host_detach(host);
>> >
>> > ? ? ? ?/* power down the HDD */
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_IDE_PWEN, 0);
>> > + ? ? ? gpio_set_value(GPIO115_PALMLD_IDE_PWEN, 0);
>> >
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_RESET);
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_IDE_PWEN);
>> > + ? ? ? gpio_free(GPIO98_PALMLD_IDE_RESET);
>> > + ? ? ? gpio_free(GPIO115_PALMLD_IDE_PWEN);
>> >
>> > ? ? ? ?return 0;
>> > ?}
>> > diff --git a/drivers/pcmcia/pxa2xx_palmld.c
>> > b/drivers/pcmcia/pxa2xx_palmld.c index 6fb6f7f..4317657 100644
>> > --- a/drivers/pcmcia/pxa2xx_palmld.c
>> > +++ b/drivers/pcmcia/pxa2xx_palmld.c
>> > @@ -24,52 +24,52 @@ static int palmld_pcmcia_hw_init(struct
>> > soc_pcmcia_socket *skt) {
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
>> > + ? ? ? ret = gpio_request(GPIO36_PALMLD_PCMCIA_POWER, "PCMCIA PWR");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_POWER, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO36_PALMLD_PCMCIA_POWER, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_RESET, "PCMCIA RST");
>> > + ? ? ? ret = gpio_request(GPIO81_PALMLD_PCMCIA_RESET, "PCMCIA RST");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMLD_PCMCIA_RESET, 1);
>> > + ? ? ? ret = gpio_direction_output(GPIO81_PALMLD_PCMCIA_RESET, 1);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMLD_PCMCIA_READY, "PCMCIA RDY");
>> > + ? ? ? ret = gpio_request(GPIO38_PALMLD_PCMCIA_READY, "PCMCIA RDY");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMLD_PCMCIA_READY);
>> > + ? ? ? ret = gpio_direction_input(GPIO38_PALMLD_PCMCIA_READY);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err4;
>> >
>> > - ? ? ? skt->socket.pci_irq = IRQ_GPIO(GPIO_NR_PALMLD_PCMCIA_READY);
>> > + ? ? ? skt->socket.pci_irq = IRQ_GPIO(GPIO38_PALMLD_PCMCIA_READY);
>> > ? ? ? ?return 0;
>> >
>> > ?err4:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
>> > + ? ? ? gpio_free(GPIO38_PALMLD_PCMCIA_READY);
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
>> > + ? ? ? gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
>> > + ? ? ? gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static void palmld_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_READY);
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_RESET);
>> > - ? ? ? gpio_free(GPIO_NR_PALMLD_PCMCIA_POWER);
>> > + ? ? ? gpio_free(GPIO38_PALMLD_PCMCIA_READY);
>> > + ? ? ? gpio_free(GPIO81_PALMLD_PCMCIA_RESET);
>> > + ? ? ? gpio_free(GPIO36_PALMLD_PCMCIA_POWER);
>> > ?}
>> >
>> > ?static void palmld_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct pcmcia_state *state)
>> > ?{
>> > ? ? ? ?state->detect = 1; /* always inserted */
>> > - ? ? ? state->ready ?= !!gpio_get_value(GPIO_NR_PALMLD_PCMCIA_READY);
>> > + ? ? ? state->ready ?= !!gpio_get_value(GPIO38_PALMLD_PCMCIA_READY);
>> > ? ? ? ?state->bvd1 ? = 1;
>> > ? ? ? ?state->bvd2 ? = 1;
>> > ? ? ? ?state->wrprot = 0;
>> > @@ -80,8 +80,8 @@ static void palmld_pcmcia_socket_state(struct
>> > soc_pcmcia_socket *skt, static int palmld_pcmcia_configure_socket(struct
>> > soc_pcmcia_socket *skt, const socket_state_t *state) {
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_PCMCIA_POWER, 1);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMLD_PCMCIA_RESET,
>> > + ? ? ? gpio_set_value(GPIO36_PALMLD_PCMCIA_POWER, 1);
>> > + ? ? ? gpio_set_value(GPIO81_PALMLD_PCMCIA_RESET,
>> > ? ? ? ? ? ? ? ? ? ? ? ?!!(state->flags & SS_RESET));
>> >
>> > ? ? ? ?return 0;
>> > diff --git a/drivers/pcmcia/pxa2xx_palmtx.c
>> > b/drivers/pcmcia/pxa2xx_palmtx.c index b07b247..cc80531 100644
>> > --- a/drivers/pcmcia/pxa2xx_palmtx.c
>> > +++ b/drivers/pcmcia/pxa2xx_palmtx.c
>> > @@ -25,62 +25,62 @@ static int palmtx_pcmcia_hw_init(struct
>> > soc_pcmcia_socket *skt) {
>> > ? ? ? ?int ret;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
>> > + ? ? ? ret = gpio_request(GPIO94_PALMTX_PCMCIA_POWER1, "PCMCIA PWR1");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err1;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER1, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO94_PALMTX_PCMCIA_POWER1, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
>> > + ? ? ? ret = gpio_request(GPIO108_PALMTX_PCMCIA_POWER2, "PCMCIA PWR2");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err2;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_POWER2, 0);
>> > + ? ? ? ret = gpio_direction_output(GPIO108_PALMTX_PCMCIA_POWER2, 0);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_RESET, "PCMCIA RST");
>> > + ? ? ? ret = gpio_request(GPIO79_PALMTX_PCMCIA_RESET, "PCMCIA RST");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err3;
>> > - ? ? ? ret = gpio_direction_output(GPIO_NR_PALMTX_PCMCIA_RESET, 1);
>> > + ? ? ? ret = gpio_direction_output(GPIO79_PALMTX_PCMCIA_RESET, 1);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err4;
>> >
>> > - ? ? ? ret = gpio_request(GPIO_NR_PALMTX_PCMCIA_READY, "PCMCIA RDY");
>> > + ? ? ? ret = gpio_request(GPIO116_PALMTX_PCMCIA_READY, "PCMCIA RDY");
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err4;
>> > - ? ? ? ret = gpio_direction_input(GPIO_NR_PALMTX_PCMCIA_READY);
>> > + ? ? ? ret = gpio_direction_input(GPIO116_PALMTX_PCMCIA_READY);
>> > ? ? ? ?if (ret)
>> > ? ? ? ? ? ? ? ?goto err5;
>> >
>> > - ? ? ? skt->socket.pci_irq = gpio_to_irq(GPIO_NR_PALMTX_PCMCIA_READY);
>> > + ? ? ? skt->socket.pci_irq = gpio_to_irq(GPIO116_PALMTX_PCMCIA_READY);
>> > ? ? ? ?return 0;
>> >
>> > ?err5:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
>> > + ? ? ? gpio_free(GPIO116_PALMTX_PCMCIA_READY);
>> > ?err4:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
>> > + ? ? ? gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
>> > ?err3:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
>> > + ? ? ? gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
>> > ?err2:
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
>> > + ? ? ? gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
>> > ?err1:
>> > ? ? ? ?return ret;
>> > ?}
>> >
>> > ?static void palmtx_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
>> > ?{
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_READY);
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_RESET);
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER2);
>> > - ? ? ? gpio_free(GPIO_NR_PALMTX_PCMCIA_POWER1);
>> > + ? ? ? gpio_free(GPIO116_PALMTX_PCMCIA_READY);
>> > + ? ? ? gpio_free(GPIO79_PALMTX_PCMCIA_RESET);
>> > + ? ? ? gpio_free(GPIO108_PALMTX_PCMCIA_POWER2);
>> > + ? ? ? gpio_free(GPIO94_PALMTX_PCMCIA_POWER1);
>> > ?}
>> >
>> > ?static void palmtx_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?struct pcmcia_state *state)
>> > ?{
>> > ? ? ? ?state->detect = 1; /* always inserted */
>> > - ? ? ? state->ready ?= !!gpio_get_value(GPIO_NR_PALMTX_PCMCIA_READY);
>> > + ? ? ? state->ready ?= !!gpio_get_value(GPIO116_PALMTX_PCMCIA_READY);
>> > ? ? ? ?state->bvd1 ? = 1;
>> > ? ? ? ?state->bvd2 ? = 1;
>> > ? ? ? ?state->wrprot = 0;
>> > @@ -92,9 +92,9 @@ static int
>> > ?palmtx_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
>> > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?const socket_state_t *state)
>> > ?{
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER1, 1);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMTX_PCMCIA_POWER2, 1);
>> > - ? ? ? gpio_set_value(GPIO_NR_PALMTX_PCMCIA_RESET,
>> > + ? ? ? gpio_set_value(GPIO94_PALMTX_PCMCIA_POWER1, 1);
>> > + ? ? ? gpio_set_value(GPIO108_PALMTX_PCMCIA_POWER2, 1);
>> > + ? ? ? gpio_set_value(GPIO79_PALMTX_PCMCIA_RESET,
>> > ? ? ? ? ? ? ? ? ? ? ? ?!!(state->flags & SS_RESET));
>> >
>> > ? ? ? ?return 0;
>> > --
>> > 1.7.1
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/5] pxa: Sane naming of gpios for palm platform
  2010-07-13 10:20     ` Eric Miao
@ 2010-07-13 16:20       ` Joe Perches
  0 siblings, 0 replies; 12+ messages in thread
From: Joe Perches @ 2010-07-13 16:20 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 2010-07-13 at 18:20 +0800, Eric Miao wrote:
> > GPIO_NR was never intended to be used. It's some stupidity with historic roots.
> > (NR == number ... it was intended to be substituted, but never was ... time to
> > do it).
> I think it's acceptable - my preferable choice would be GPIO_xxxx. But
> the idea of encoding GPIO number into the macro itself is not good. E.g.
> GPIO_MMC_DETECT is self explanatory, no need for GPIO9_MMC_DETECT.
> Later you find the GPIO number is actually 10, now you have to modify
> _every_ place this macro appears, instead of a one liner patch.

I agree with Eric.
Another scenario is another board comes along nearly
but not quite identical.

>>> +70kb duplicated email reply crud

Please remember to trim unnecessary stuff.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-07-13 16:20 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-13  7:38 [PATCH 1/5] pxa: Sane naming of gpios for palm platform Marek Vasut
2010-07-13  7:38 ` [PATCH 2/5] pxa: Introduce Palm27x Marek Vasut
2010-07-13  8:14   ` Eric Miao
2010-07-13  9:59     ` Marek Vasut
2010-07-13  7:38 ` [PATCH 3/5] pxa: Flip Palm LD, TX, T5, Z72 to Palm27x Marek Vasut
2010-07-13  7:38 ` [PATCH 4/5] pxa: Add core pmic support for Palm27x Marek Vasut
2010-07-13  7:38 ` [PATCH 5/5] pxa: Modularize remnants of code in Palms Marek Vasut
2010-07-13  8:10 ` [PATCH 1/5] pxa: Sane naming of gpios for palm platform Eric Miao
2010-07-13  9:58   ` Marek Vasut
2010-07-13 10:20     ` Eric Miao
2010-07-13 16:20       ` Joe Perches
  -- strict thread matches above, loose matches on Subject: below --
2010-07-13  7:51 Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).