Title: [8270] trunk/drivers/spi/spi_bfin5xx.c: [#5879] GPIO controlled slave request may fail when bfin_spi_setup()
- Revision
- 8270
- Author
- hennerich
- Date
- 2010-02-03 10:47:16 -0500 (Wed, 03 Feb 2010)
Log Message
[#5879] GPIO controlled slave request may fail when bfin_spi_setup()
gets executed twice
Some drivers such as the ADS7846 calls spi_setup() from its probe
function.
Only gpio_request() on the first setup.
Modified Paths
Diff
Modified: trunk/drivers/spi/spi_bfin5xx.c (8269 => 8270)
--- trunk/drivers/spi/spi_bfin5xx.c 2010-02-03 09:34:16 UTC (rev 8269)
+++ trunk/drivers/spi/spi_bfin5xx.c 2010-02-03 15:47:16 UTC (rev 8270)
@@ -1171,12 +1171,15 @@
}
if (chip->chip_select_num >= MAX_CTRL_CS) {
- ret = gpio_request(chip->cs_gpio, spi->modalias);
- if (ret) {
- dev_err(&spi->dev, "gpio_request() error\n");
- goto pin_error;
+ /* Only request on first setup */
+ if (spi_get_ctldata(spi) == NULL) {
+ ret = gpio_request(chip->cs_gpio, spi->modalias);
+ if (ret) {
+ dev_err(&spi->dev, "gpio_request() error\n");
+ goto pin_error;
+ }
+ gpio_direction_output(chip->cs_gpio, 1);
}
- gpio_direction_output(chip->cs_gpio, 1);
}
dev_dbg(&spi->dev, "setup spi chip %s, width is %d, dma is %d\n",
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits