aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/iguanair.c
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2014-01-20 17:10:39 -0500
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-02-04 14:23:06 -0500
commit776eced0e336f88fdbe4374306de1f8acaeffcc4 (patch)
treed4952472929a12e2fff065e4bdeb9062973fc3ce /drivers/media/rc/iguanair.c
parentdd3a5a1e7a8723b137f2af7905db53f011fd7287 (diff)
[media] iguanair: simplify tx loop
Make the code simpler. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/rc/iguanair.c')
-rw-r--r--drivers/media/rc/iguanair.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c
index 99a3a5a509e6..a83519a6a158 100644
--- a/drivers/media/rc/iguanair.c
+++ b/drivers/media/rc/iguanair.c
@@ -364,20 +364,14 @@ static int iguanair_tx(struct rc_dev *dev, unsigned *txbuf, unsigned count)
364 rc = -EINVAL; 364 rc = -EINVAL;
365 goto out; 365 goto out;
366 } 366 }
367 while (periods > 127) { 367 while (periods) {
368 ir->packet->payload[size++] = 127 | space; 368 unsigned p = min(periods, 127u);
369 periods -= 127; 369 ir->packet->payload[size++] = p | space;
370 periods -= p;
370 } 371 }
371
372 ir->packet->payload[size++] = periods | space;
373 space ^= 0x80; 372 space ^= 0x80;
374 } 373 }
375 374
376 if (count == 0) {
377 rc = -EINVAL;
378 goto out;
379 }
380
381 ir->packet->header.start = 0; 375 ir->packet->header.start = 0;
382 ir->packet->header.direction = DIR_OUT; 376 ir->packet->header.direction = DIR_OUT;
383 ir->packet->header.cmd = CMD_SEND; 377 ir->packet->header.cmd = CMD_SEND;