diff options
| -rw-r--r-- | drivers/spi/spi-bitbang.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/spi/spi-bitbang.c b/drivers/spi/spi-bitbang.c index ef43ef507c9a..ad3168dc45e7 100644 --- a/drivers/spi/spi-bitbang.c +++ b/drivers/spi/spi-bitbang.c | |||
| @@ -272,7 +272,6 @@ static int spi_bitbang_transfer_one(struct spi_master *master, | |||
| 272 | struct spi_transfer *t = NULL; | 272 | struct spi_transfer *t = NULL; |
| 273 | unsigned cs_change; | 273 | unsigned cs_change; |
| 274 | int status; | 274 | int status; |
| 275 | int do_setup = -1; | ||
| 276 | struct spi_device *spi = m->spi; | 275 | struct spi_device *spi = m->spi; |
| 277 | 276 | ||
| 278 | bitbang = spi_master_get_devdata(master); | 277 | bitbang = spi_master_get_devdata(master); |
| @@ -288,19 +287,10 @@ static int spi_bitbang_transfer_one(struct spi_master *master, | |||
| 288 | 287 | ||
| 289 | list_for_each_entry(t, &m->transfers, transfer_list) { | 288 | list_for_each_entry(t, &m->transfers, transfer_list) { |
| 290 | 289 | ||
| 291 | /* override speed or wordsize? */ | 290 | if (bitbang->setup_transfer) { |
| 292 | if (t->speed_hz || t->bits_per_word) | 291 | status = bitbang->setup_transfer(spi, t); |
| 293 | do_setup = 1; | 292 | if (status < 0) |
| 294 | 293 | break; | |
| 295 | /* init (-1) or override (1) transfer params */ | ||
| 296 | if (do_setup != 0) { | ||
| 297 | if (bitbang->setup_transfer) { | ||
| 298 | status = bitbang->setup_transfer(spi, t); | ||
| 299 | if (status < 0) | ||
| 300 | break; | ||
| 301 | } | ||
| 302 | if (do_setup == -1) | ||
| 303 | do_setup = 0; | ||
| 304 | } | 294 | } |
| 305 | 295 | ||
| 306 | /* set up default clock polarity, and activate chip; | 296 | /* set up default clock polarity, and activate chip; |
