* re: [media] rc: Introduce hix5hd2 IR transmitter driver
@ 2014-09-24 14:26 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2014-09-24 14:26 UTC (permalink / raw)
To: yanguoxiong; +Cc: linux-media
Hello Guoxiong Yan,
The patch a84fcdaa9058: "[media] rc: Introduce hix5hd2 IR transmitter
driver" from Aug 30, 2014, leads to the following static checker
warning:
drivers/media/rc/ir-hix5hd2.c:111 hix5hd2_ir_config()
warn: odd binop '0x3e80 & 0xffff0000'
drivers/media/rc/ir-hix5hd2.c
109 /* Now only support raw mode, with symbol start from low to high */
110 rate = DIV_ROUND_CLOSEST(priv->rate, 1000000);
111 val = IR_CFG_SYMBOL_MAXWIDTH & IR_CFG_WIDTH_MASK << IR_CFG_WIDTH_SHIFT;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
112 val |= IR_CFG_SYMBOL_FMT & IR_CFG_FORMAT_MASK << IR_CFG_FORMAT_SHIFT;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
These seem like precedence bugs. My guess is that the intent was:
val = (IR_CFG_SYMBOL_MAXWIDTH & IR_CFG_WIDTH_MASK) << IR_CFG_WIDTH_SHIFT;
val |= (IR_CFG_SYMBOL_FMT & IR_CFG_FORMAT_MASK) << IR_CFG_FORMAT_SHIFT;
etc for the rest as well.
113 val |= (IR_CFG_INT_THRESHOLD - 1) & IR_CFG_INT_LEVEL_MASK
114 << IR_CFG_INT_LEVEL_SHIFT;
115 val |= IR_CFG_MODE_RAW;
116 val |= (rate - 1) & IR_CFG_FREQ_MASK << IR_CFG_FREQ_SHIFT;
117 writel_relaxed(val, priv->base + IR_CONFIG);
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-09-24 14:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-24 14:26 [media] rc: Introduce hix5hd2 IR transmitter driver Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.