diff options
Diffstat (limited to 'drivers/media/rc')
-rw-r--r-- | drivers/media/rc/iguanair.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c index 19632b1c2190..7f05e197680b 100644 --- a/drivers/media/rc/iguanair.c +++ b/drivers/media/rc/iguanair.c | |||
@@ -308,22 +308,12 @@ static int iguanair_set_tx_carrier(struct rc_dev *dev, uint32_t carrier) | |||
308 | cycles = DIV_ROUND_CLOSEST(24000000, carrier * 2) - | 308 | cycles = DIV_ROUND_CLOSEST(24000000, carrier * 2) - |
309 | ir->cycle_overhead; | 309 | ir->cycle_overhead; |
310 | 310 | ||
311 | /* make up the the remainer of 4-cycle blocks */ | 311 | /* |
312 | switch (cycles & 3) { | 312 | * Calculate minimum number of 7 cycles needed so |
313 | case 0: | 313 | * we are left with a multiple of 4; so we want to have |
314 | sevens = 0; | 314 | * (sevens * 7) & 3 == cycles & 3 |
315 | break; | 315 | */ |
316 | case 1: | 316 | sevens = (4 - cycles) & 3; |
317 | sevens = 3; | ||
318 | break; | ||
319 | case 2: | ||
320 | sevens = 2; | ||
321 | break; | ||
322 | case 3: | ||
323 | sevens = 1; | ||
324 | break; | ||
325 | } | ||
326 | |||
327 | fours = (cycles - sevens * 7) / 4; | 317 | fours = (cycles - sevens * 7) / 4; |
328 | 318 | ||
329 | /* magic happens here */ | 319 | /* magic happens here */ |