media: rc: decoders do not need to check for transitions
Drivers should never produce consecutive pulse or space raw events. Should that occur, we would have bigger problems than this code is trying to guard against. Note that we already log an error should a driver misbehave. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
此提交包含在:
@@ -274,9 +274,6 @@ again:
|
||||
return 0;
|
||||
|
||||
case STATE_HEADER_BIT_END:
|
||||
if (!is_transition(&ev, &dev->raw->prev_ev))
|
||||
break;
|
||||
|
||||
decrease_duration(&ev, MCIR2_BIT_END);
|
||||
|
||||
if (data->count != MCIR2_HEADER_NBITS) {
|
||||
@@ -313,9 +310,6 @@ again:
|
||||
return 0;
|
||||
|
||||
case STATE_BODY_BIT_END:
|
||||
if (!is_transition(&ev, &dev->raw->prev_ev))
|
||||
break;
|
||||
|
||||
if (data->count == data->wanted_bits)
|
||||
data->state = STATE_FINISHED;
|
||||
else
|
||||
|
@@ -88,9 +88,6 @@ again:
|
||||
return 0;
|
||||
|
||||
case STATE_BIT_END:
|
||||
if (!is_transition(&ev, &dev->raw->prev_ev))
|
||||
break;
|
||||
|
||||
if (data->count == CHECK_RC5X_NBITS)
|
||||
data->state = STATE_CHECK_RC5X;
|
||||
else
|
||||
|
@@ -145,9 +145,6 @@ again:
|
||||
return 0;
|
||||
|
||||
case STATE_HEADER_BIT_END:
|
||||
if (!is_transition(&ev, &dev->raw->prev_ev))
|
||||
break;
|
||||
|
||||
if (data->count == RC6_HEADER_NBITS)
|
||||
data->state = STATE_TOGGLE_START;
|
||||
else
|
||||
@@ -165,10 +162,6 @@ again:
|
||||
return 0;
|
||||
|
||||
case STATE_TOGGLE_END:
|
||||
if (!is_transition(&ev, &dev->raw->prev_ev) ||
|
||||
!geq_margin(ev.duration, RC6_TOGGLE_END, RC6_UNIT / 2))
|
||||
break;
|
||||
|
||||
if (!(data->header & RC6_STARTBIT_MASK)) {
|
||||
dev_dbg(&dev->dev, "RC6 invalid start bit\n");
|
||||
break;
|
||||
@@ -210,9 +203,6 @@ again:
|
||||
break;
|
||||
|
||||
case STATE_BODY_BIT_END:
|
||||
if (!is_transition(&ev, &dev->raw->prev_ev))
|
||||
break;
|
||||
|
||||
if (data->count == data->wanted_bits)
|
||||
data->state = STATE_FINISHED;
|
||||
else
|
||||
|
新增問題並參考
封鎖使用者