1
0
Fork 0

[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>
hifive-unleashed-5.1
Sean Young 2014-01-20 19:10:39 -03:00 committed by Mauro Carvalho Chehab
parent dd3a5a1e7a
commit 776eced0e3
1 changed files with 4 additions and 10 deletions

View File

@ -364,20 +364,14 @@ static int iguanair_tx(struct rc_dev *dev, unsigned *txbuf, unsigned count)
rc = -EINVAL; rc = -EINVAL;
goto out; goto out;
} }
while (periods > 127) { while (periods) {
ir->packet->payload[size++] = 127 | space; unsigned p = min(periods, 127u);
periods -= 127; ir->packet->payload[size++] = p | space;
periods -= p;
} }
ir->packet->payload[size++] = periods | space;
space ^= 0x80; space ^= 0x80;
} }
if (count == 0) {
rc = -EINVAL;
goto out;
}
ir->packet->header.start = 0; ir->packet->header.start = 0;
ir->packet->header.direction = DIR_OUT; ir->packet->header.direction = DIR_OUT;
ir->packet->header.cmd = CMD_SEND; ir->packet->header.cmd = CMD_SEND;