Message ID | 1356601349-23617-5-git-send-email-juhosg@openwrt.org (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Thu, 27 Dec 2012 10:42:27 +0100, Gabor Juhos <juhosg@openwrt.org> wrote: > Use gpio_request_one() instead of multiple gpiolib calls. > > Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Applied, thanks. g. > --- > drivers/spi/spi-ath79.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c > index a725e62..19d539e 100644 > --- a/drivers/spi/spi-ath79.c > +++ b/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) > -- > 1.7.10 >
diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c index a725e62..19d539e 100644 --- a/drivers/spi/spi-ath79.c +++ b/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)
Use gpio_request_one() instead of multiple gpiolib calls. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> --- drivers/spi/spi-ath79.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)