diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2012-05-21 13:25:17 +0200 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2012-11-14 15:38:15 +0000 |
commit | edba9bf99dfb20d316abd164d9027479010dbf9d (patch) | |
tree | 1107893971e521bc96dc4fd92bf0e3e5789be7d5 /drivers/spi/spi-bitbang.c | |
parent | b82b576bc7ffb9785ad3248825ab20496b018e0c (diff) | |
download | talos-obmc-linux-edba9bf99dfb20d316abd164d9027479010dbf9d.tar.gz talos-obmc-linux-edba9bf99dfb20d316abd164d9027479010dbf9d.zip |
spi/bitbang: (cosmetic) simplify list manipulation
Use a proper list iterator instead of an open-coded loop and remove a
superfluous list head initialisation.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/spi/spi-bitbang.c')
-rw-r--r-- | drivers/spi/spi-bitbang.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/spi/spi-bitbang.c b/drivers/spi/spi-bitbang.c index f5ae6e960c7e..8b3d8efafd3c 100644 --- a/drivers/spi/spi-bitbang.c +++ b/drivers/spi/spi-bitbang.c @@ -260,11 +260,11 @@ static void bitbang_work(struct work_struct *work) struct spi_bitbang *bitbang = container_of(work, struct spi_bitbang, work); unsigned long flags; + struct spi_message *m, *_m; spin_lock_irqsave(&bitbang->lock, flags); bitbang->busy = 1; - while (!list_empty(&bitbang->queue)) { - struct spi_message *m; + list_for_each_entry_safe(m, _m, &bitbang->queue, queue) { struct spi_device *spi; unsigned nsecs; struct spi_transfer *t = NULL; @@ -273,9 +273,7 @@ static void bitbang_work(struct work_struct *work) int status; int do_setup = -1; - m = container_of(bitbang->queue.next, struct spi_message, - queue); - list_del_init(&m->queue); + list_del(&m->queue); spin_unlock_irqrestore(&bitbang->lock, flags); /* FIXME this is made-up ... the correct value is known to |