aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/rc/mtk-cir.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/rc/mtk-cir.c b/drivers/media/rc/mtk-cir.c
index 1255e3afb032..27b7412d02a5 100644
--- a/drivers/media/rc/mtk-cir.c
+++ b/drivers/media/rc/mtk-cir.c
@@ -203,10 +203,10 @@ static inline void mtk_irq_enable(struct mtk_ir *ir, u32 mask)
static irqreturn_t mtk_ir_irq(int irqno, void *dev_id)
{
+ struct ir_raw_event rawir = {};
struct mtk_ir *ir = dev_id;
- u8 wid = 0;
u32 i, j, val;
- struct ir_raw_event rawir = {};
+ u8 wid;
/*
* Each pulse and space is encoded as a single byte, each byte
@@ -228,7 +228,8 @@ static irqreturn_t mtk_ir_irq(int irqno, void *dev_id)
dev_dbg(ir->dev, "@reg%d=0x%08x\n", i, val);
for (j = 0 ; j < 4 ; j++) {
- wid = (val & (MTK_WIDTH_MASK << j * 8)) >> j * 8;
+ wid = val & MTK_WIDTH_MASK;
+ val >>= 8;
rawir.pulse = !rawir.pulse;
rawir.duration = wid * (MTK_IR_SAMPLE + 1);
ir_raw_event_store_with_filter(ir->rc, &rawir);