Skip to content

Commit

Permalink
[media] iguanair: simplify calculation of carrier delay cycles
Browse files Browse the repository at this point in the history
Simplify the logic that	calculates the carrier,	and removes a warning
on avr32 arch:
        drivers/media/rc/iguanair.c: In function 'iguanair_set_tx_carrier':
        drivers/media/rc/iguanair.c:304: warning: 'sevens' may be used uninitialized in this function

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
  • Loading branch information
Sean Young authored and Mauro Carvalho Chehab committed Nov 7, 2013
1 parent 5f27ca4 commit 9bd766b
Showing 1 changed file with 6 additions and 16 deletions.
22 changes: 6 additions & 16 deletions drivers/media/rc/iguanair.c
Original file line number Diff line number Diff line change
Expand Up @@ -308,22 +308,12 @@ static int iguanair_set_tx_carrier(struct rc_dev *dev, uint32_t carrier)
cycles = DIV_ROUND_CLOSEST(24000000, carrier * 2) -
ir->cycle_overhead;

/* make up the the remainer of 4-cycle blocks */
switch (cycles & 3) {
case 0:
sevens = 0;
break;
case 1:
sevens = 3;
break;
case 2:
sevens = 2;
break;
case 3:
sevens = 1;
break;
}

/*
* Calculate minimum number of 7 cycles needed so
* we are left with a multiple of 4; so we want to have
* (sevens * 7) & 3 == cycles & 3
*/
sevens = (4 - cycles) & 3;
fours = (cycles - sevens * 7) / 4;

/* magic happens here */
Expand Down

0 comments on commit 9bd766b

Please sign in to comment.