diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2012-12-27 04:42:27 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2013-02-05 07:58:55 -0500 |
commit | 95d79419feffb326a3d5cb50e2248129dec06bb0 (patch) | |
tree | e87721bd59bbb27c2631c94c67e1c74058eb497d /drivers/spi | |
parent | f1e8fc9898fd8ca78b7438d3c2e60028d3ae2a34 (diff) |
spi/ath79: use gpio_request_one
Use gpio_request_one() instead of multiple gpiolib calls.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi-ath79.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c index a725e62dfa90..19d539e36300 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) | |||
100 | { | 100 | { |
101 | struct ath79_spi *sp = ath79_spidev_to_sp(spi); | 101 | struct ath79_spi *sp = ath79_spidev_to_sp(spi); |
102 | struct ath79_spi_controller_data *cdata; | 102 | struct ath79_spi_controller_data *cdata; |
103 | int status; | ||
103 | 104 | ||
104 | cdata = spi->controller_data; | 105 | cdata = spi->controller_data; |
105 | if (spi->chip_select && !cdata) | 106 | if (spi->chip_select && !cdata) |
@@ -115,22 +116,21 @@ static int ath79_spi_setup_cs(struct spi_device *spi) | |||
115 | /* TODO: setup speed? */ | 116 | /* TODO: setup speed? */ |
116 | ath79_spi_wr(sp, AR71XX_SPI_REG_CTRL, 0x43); | 117 | ath79_spi_wr(sp, AR71XX_SPI_REG_CTRL, 0x43); |
117 | 118 | ||
119 | status = 0; | ||
118 | if (spi->chip_select) { | 120 | if (spi->chip_select) { |
119 | int status = 0; | 121 | unsigned long flags; |
120 | 122 | ||
121 | status = gpio_request(cdata->gpio, dev_name(&spi->dev)); | 123 | flags = GPIOF_DIR_OUT; |
122 | if (status) | 124 | if (spi->mode & SPI_CS_HIGH) |
123 | return status; | 125 | flags |= GPIOF_INIT_HIGH; |
126 | else | ||
127 | flags |= GPIOF_INIT_LOW; | ||
124 | 128 | ||
125 | status = gpio_direction_output(cdata->gpio, | 129 | status = gpio_request_one(cdata->gpio, flags, |
126 | spi->mode & SPI_CS_HIGH); | 130 | dev_name(&spi->dev)); |
127 | if (status) { | ||
128 | gpio_free(cdata->gpio); | ||
129 | return status; | ||
130 | } | ||
131 | } | 131 | } |
132 | 132 | ||
133 | return 0; | 133 | return status; |
134 | } | 134 | } |
135 | 135 | ||
136 | static void ath79_spi_cleanup_cs(struct spi_device *spi) | 136 | static void ath79_spi_cleanup_cs(struct spi_device *spi) |