aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/spi-bitbang.c18
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;