Google
  Web www.spinics.net

[PATCH 3/3] convert corgi/poodle/spitz to use the new .gpio_cs and .gpio_pendown

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Signed-off-by: Eric Miao <eric.miao@xxxxxxxxxxx>
---
diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
index 229a49d..5143bfb 100644
--- a/arch/arm/mach-pxa/corgi.c
+++ b/arch/arm/mach-pxa/corgi.c
@@ -406,26 +406,16 @@ static struct pxa2xx_spi_master corgi_spi_info = {
 	.num_chipselect	= 3,
 };

-static int ads7846_pendown_state(void)
-{
-	return !gpio_get_value(CORGI_GPIO_TP_INT);
-}
-
 static struct ads7846_platform_data corgi_ads7846_info = {
 	.model			= 7846,
 	.vref_delay_usecs	= 100,
 	.x_plate_ohms		= 419,
 	.y_plate_ohms		= 486,
-	.get_pendown_state	= ads7846_pendown_state,
+	.gpio_pendown		= CORGI_GPIO_TP_INT,
 };

-static void corgi_ads7846_cs(u32 command)
-{
-	gpio_set_value(CORGI_GPIO_ADS7846_CS, !(command == PXA2XX_CS_ASSERT));
-}
-
 static struct pxa2xx_spi_chip corgi_ads7846_chip = {
-	.cs_control		= corgi_ads7846_cs,
+	.gpio_cs	= CORGI_GPIO_ADS7846_CS,
 };

 static void corgi_notify_intensity(int intensity)
@@ -457,22 +447,12 @@ static struct corgi_lcd_platform_data
corgi_lcdcon_info = {
 	.kick_battery		= corgi_bl_kick_battery,
 };

-static void corgi_lcdcon_cs(u32 command)
-{
-	gpio_set_value(CORGI_GPIO_LCDCON_CS, !(command == PXA2XX_CS_ASSERT));
-}
-
 static struct pxa2xx_spi_chip corgi_lcdcon_chip = {
-	.cs_control		= corgi_lcdcon_cs,
+	.gpio_cs	= CORGI_GPIO_LCDCON_CS,
 };

-static void corgi_max1111_cs(u32 command)
-{
-	gpio_set_value(CORGI_GPIO_MAX1111_CS, !(command == PXA2XX_CS_ASSERT));
-}
-
 static struct pxa2xx_spi_chip corgi_max1111_chip = {
-	.cs_control		= corgi_max1111_cs,
+	.gpio_cs	= CORGI_GPIO_MAX1111_CS,
 };

 static struct spi_board_info corgi_spi_devices[] = {
@@ -502,45 +482,8 @@ static struct spi_board_info corgi_spi_devices[] = {

 static void __init corgi_init_spi(void)
 {
-	int err;
-
-	err = gpio_request(CORGI_GPIO_TP_INT, "ADS7846_PENIRQ");
-	if (err)
-		goto err_out;
-
-	err = gpio_request(CORGI_GPIO_ADS7846_CS, "ADS7846_CS");
-	if (err)
-		goto err_free_1;
-
-	err = gpio_request(CORGI_GPIO_LCDCON_CS, "LCDCON_CS");
-	if (err)
-		goto err_free_2;
-
-	err = gpio_request(CORGI_GPIO_MAX1111_CS, "MAX1111_CS");
-	if (err)
-		goto err_free_3;
-
-	gpio_direction_input(CORGI_GPIO_TP_INT);
-
-	/* chip-select initialized to de-asserted */
-	gpio_direction_output(CORGI_GPIO_ADS7846_CS, 1);
-	gpio_direction_output(CORGI_GPIO_LCDCON_CS, 1);
-	gpio_direction_output(CORGI_GPIO_MAX1111_CS, 1);
-
 	pxa2xx_set_spi_info(1, &corgi_spi_info);
 	spi_register_board_info(ARRAY_AND_SIZE(corgi_spi_devices));
-	return;
-
-err_free_4:
-	gpio_free(CORGI_GPIO_MAX1111_CS);
-err_free_3:
-	gpio_free(CORGI_GPIO_LCDCON_CS);
-err_free_2:
-	gpio_free(CORGI_GPIO_ADS7846_CS);
-err_free_1:
-	gpio_free(CORGI_GPIO_TP_INT);
-err_out:
-	return;
 }
 #else
 static inline void corgi_init_spi(void) {}
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c
index 523c85c..145f8e8 100644
--- a/arch/arm/mach-pxa/poodle.c
+++ b/arch/arm/mach-pxa/poodle.c
@@ -213,22 +213,8 @@ static struct ads7846_platform_data poodle_ads7846_info = {
 	.gpio_pendown		= POODLE_GPIO_TP_INT,
 };

-static void poodle_ads7846_cs(u32 command)
-{
-	switch (command) {
-	case PXA2XX_CS_ASSERT:
-		gpio_set_value(POODLE_GPIO_TP_CS, 0);
-		break;
-	case PXA2XX_CS_DEASSERT:
-		gpio_set_value(POODLE_GPIO_TP_CS, 1);
-		break;
-	}
-}
-
 static struct pxa2xx_spi_chip poodle_ads7846_chip = {
-	.tx_threshold		= 0,
-	.rx_threshold		= 0,
-	.cs_control		= poodle_ads7846_cs,
+	.gpio_cs	= POODLE_GPIO_TP_CS,
 };

 static struct spi_board_info poodle_spi_devices[] = {
@@ -244,14 +230,6 @@ static struct spi_board_info poodle_spi_devices[] = {

 static void __init poodle_init_spi(void)
 {
-	if (gpio_request(POODLE_GPIO_TP_CS, "ADS7846_CS")) {
-		pr_warning("failed to request GPIO for ADS7846 CS\n");
-		return;
-	}
-
-	/* initialized to de-asserted */
-	gpio_direction_output(POODLE_GPIO_TP_CS, 1);
-
 	pxa2xx_set_spi_info(1, &poodle_spi_info);
 	spi_register_board_info(ARRAY_AND_SIZE(poodle_spi_devices));
 }
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 3089943..3d11fa7 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -271,13 +271,8 @@ static struct ads7846_platform_data spitz_ads7846_info = {
 	.gpio_pendown		= SPITZ_GPIO_TP_INT,
 };

-static void spitz_ads7846_cs(u32 command)
-{
-	gpio_set_value(SPITZ_GPIO_ADS7846_CS, !(command == PXA2XX_CS_ASSERT));
-}
-
 static struct pxa2xx_spi_chip spitz_ads7846_chip = {
-	.cs_control		= spitz_ads7846_cs,
+	.gpio_cs	= SPITZ_GPIO_ADS7846_CS,
 };

 static void spitz_notify_intensity(int intensity)
@@ -331,22 +326,12 @@ static struct corgi_lcd_platform_data
spitz_lcdcon_info = {
 	.kick_battery		= spitz_bl_kick_battery,
 };

-static void spitz_lcdcon_cs(u32 command)
-{
-	gpio_set_value(SPITZ_GPIO_LCDCON_CS, !(command == PXA2XX_CS_ASSERT));
-}
-
 static struct pxa2xx_spi_chip spitz_lcdcon_chip = {
-	.cs_control		= spitz_lcdcon_cs,
+	.gpio_cs	= SPITZ_GPIO_LCDCON_CS,
 };

-static void spitz_max1111_cs(u32 command)
-{
-	gpio_set_value(SPITZ_GPIO_MAX1111_CS, !(command == PXA2XX_CS_ASSERT));
-}
-
 static struct pxa2xx_spi_chip spitz_max1111_chip = {
-	.cs_control		= spitz_max1111_cs,
+	.gpio_cs	= SPITZ_GPIO_MAX1111_CS,
 };

 static struct spi_board_info spitz_spi_devices[] = {

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php

[Site Home]     [Linux Arm]     [Fedora ARM]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [PDAs]     [Linux]     [Linux Book List]     [Linux MIPS]     [Yosemite Campsites]     [Photos]

Add to Google Google PageRank Checking tool