Skip to content

Commit

Permalink
ARM: PXA: Z2: Fix libertas init/tear down sequences
Browse files Browse the repository at this point in the history
GPIO15 seems to be not related to WiFi, so don't touch it.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
  • Loading branch information
Vasily Khoruzhick authored and Marek Vasut committed Mar 16, 2011
1 parent 233cdbc commit b8f56a7
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 25 deletions.
3 changes: 1 addition & 2 deletions arch/arm/mach-pxa/include/mach/z2.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#define GPIO98_ZIPITZ2_LID_BUTTON 98

/* Libertas GSPI8686 WiFi */
#define GPIO14_ZIPITZ2_WIFI_RESET 14
#define GPIO15_ZIPITZ2_WIFI_POWER 15
#define GPIO14_ZIPITZ2_WIFI_POWER 14
#define GPIO24_ZIPITZ2_WIFI_CS 24
#define GPIO36_ZIPITZ2_WIFI_IRQ 36

Expand Down
31 changes: 8 additions & 23 deletions arch/arm/mach-pxa/z2.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,7 @@ static unsigned long z2_pin_config[] = {
GPIO1_GPIO, /* Power button */
GPIO37_GPIO, /* Headphone detect */
GPIO98_GPIO, /* Lid switch */
GPIO14_GPIO, /* WiFi Reset */
GPIO15_GPIO, /* WiFi Power */
GPIO14_GPIO, /* WiFi Power */
GPIO24_GPIO, /* WiFi CS */
GPIO36_GPIO, /* WiFi IRQ */
GPIO88_GPIO, /* LCD CS */
Expand Down Expand Up @@ -512,26 +511,16 @@ static int z2_lbs_spi_setup(struct spi_device *spi)
{
int ret = 0;

ret = gpio_request(GPIO15_ZIPITZ2_WIFI_POWER, "WiFi Power");
ret = gpio_request(GPIO14_ZIPITZ2_WIFI_POWER, "WiFi Power");
if (ret)
goto err;

ret = gpio_direction_output(GPIO15_ZIPITZ2_WIFI_POWER, 1);
ret = gpio_direction_output(GPIO14_ZIPITZ2_WIFI_POWER, 1);
if (ret)
goto err2;

ret = gpio_request(GPIO14_ZIPITZ2_WIFI_RESET, "WiFi Reset");
if (ret)
goto err2;

ret = gpio_direction_output(GPIO14_ZIPITZ2_WIFI_RESET, 0);
if (ret)
goto err3;

/* Reset the card */
/* Wait until card is powered on */
mdelay(180);
gpio_set_value(GPIO14_ZIPITZ2_WIFI_RESET, 1);
mdelay(20);

spi->bits_per_word = 16;
spi->mode = SPI_MODE_2,
Expand All @@ -540,22 +529,18 @@ static int z2_lbs_spi_setup(struct spi_device *spi)

return 0;

err3:
gpio_free(GPIO14_ZIPITZ2_WIFI_RESET);
err2:
gpio_free(GPIO15_ZIPITZ2_WIFI_POWER);
gpio_free(GPIO14_ZIPITZ2_WIFI_POWER);
err:
return ret;
};

static int z2_lbs_spi_teardown(struct spi_device *spi)
{
gpio_set_value(GPIO14_ZIPITZ2_WIFI_RESET, 0);
gpio_set_value(GPIO15_ZIPITZ2_WIFI_POWER, 0);
gpio_free(GPIO14_ZIPITZ2_WIFI_RESET);
gpio_free(GPIO15_ZIPITZ2_WIFI_POWER);
return 0;
gpio_set_value(GPIO14_ZIPITZ2_WIFI_POWER, 0);
gpio_free(GPIO14_ZIPITZ2_WIFI_POWER);

return 0;
};

static struct pxa2xx_spi_chip z2_lbs_chip_info = {
Expand Down

0 comments on commit b8f56a7

Please sign in to comment.