From 8841e189ef2aff17bf20ae7836e5f9144d4c9d19 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Thu, 27 Dec 2012 10:42:27 +0100 Subject: [PATCH] --- yaml --- r: 350769 b: refs/heads/master c: 95d79419feffb326a3d5cb50e2248129dec06bb0 h: refs/heads/master i: 350767: 334d07b4eea44f5893f47f50c1921375102ae500 v: v3 --- [refs] | 2 +- trunk/drivers/spi/spi-ath79.c | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index d0f4aa4d3972..5dfc519b7ca5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f1e8fc9898fd8ca78b7438d3c2e60028d3ae2a34 +refs/heads/master: 95d79419feffb326a3d5cb50e2248129dec06bb0 diff --git a/trunk/drivers/spi/spi-ath79.c b/trunk/drivers/spi/spi-ath79.c index a725e62dfa90..19d539e36300 100644 --- a/trunk/drivers/spi/spi-ath79.c +++ b/trunk/drivers/spi/spi-ath79.c @@ -100,6 +100,7 @@ static int ath79_spi_setup_cs(struct spi_device *spi) { struct ath79_spi *sp = ath79_spidev_to_sp(spi); struct ath79_spi_controller_data *cdata; + int status; cdata = spi->controller_data; if (spi->chip_select && !cdata) @@ -115,22 +116,21 @@ static int ath79_spi_setup_cs(struct spi_device *spi) /* TODO: setup speed? */ ath79_spi_wr(sp, AR71XX_SPI_REG_CTRL, 0x43); + status = 0; if (spi->chip_select) { - int status = 0; + unsigned long flags; - status = gpio_request(cdata->gpio, dev_name(&spi->dev)); - if (status) - return status; + flags = GPIOF_DIR_OUT; + if (spi->mode & SPI_CS_HIGH) + flags |= GPIOF_INIT_HIGH; + else + flags |= GPIOF_INIT_LOW; - status = gpio_direction_output(cdata->gpio, - spi->mode & SPI_CS_HIGH); - if (status) { - gpio_free(cdata->gpio); - return status; - } + status = gpio_request_one(cdata->gpio, flags, + dev_name(&spi->dev)); } - return 0; + return status; } static void ath79_spi_cleanup_cs(struct spi_device *spi)