summaryrefslogtreecommitdiff
path: root/drivers/input/misc/stmp3xxx_rotdec.c
diff options
context:
space:
mode:
authorFrank.Li <Frank.Li@freescale.com>2009-11-18 11:43:37 -0600
committerDavid Ungar <david.ungar@timesys.com>2010-04-19 17:03:30 -0400
commit96a883af0236bb01a63b6d10efd9a0c49706fcb0 (patch)
treef34f68db4501618df14f82033f2ad4d5057ebc8d /drivers/input/misc/stmp3xxx_rotdec.c
parent909c390117689e87df9b15a570222307cd56b968 (diff)
ENGR00118544 iMX23 Clear dangerous macro stmp3xxx_setl(clearl)
No all regiser use _SCT. stmp3xxx_setl may write to wrong address. please use __raw_write (value, REG_XXX_SET) to write date to SCT register. Only REG_XXX_SCT is defined when it exist at hardware. Signed-off-by: Frank.Li <Frank.Li@freescale.com>
Diffstat (limited to 'drivers/input/misc/stmp3xxx_rotdec.c')
-rw-r--r--drivers/input/misc/stmp3xxx_rotdec.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/input/misc/stmp3xxx_rotdec.c b/drivers/input/misc/stmp3xxx_rotdec.c
index 310313eea64f..621db95dba8c 100644
--- a/drivers/input/misc/stmp3xxx_rotdec.c
+++ b/drivers/input/misc/stmp3xxx_rotdec.c
@@ -69,15 +69,17 @@ static int stmp3xxx_rotdec_probe(struct platform_device *pdev)
BF(BV_TIMROT_ROTCTRL_SELECT_A__ROTARYA,
TIMROT_ROTCTRL_SELECT_A)
, REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL);
- stmp3xxx_clearl(
+ __raw_writel(
BM_TIMROT_ROTCTRL_POLARITY_B |
BM_TIMROT_ROTCTRL_POLARITY_A
- , REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL);
+ , REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL_CLR);
if (relative)
- stmp3xxx_setl(BM_TIMROT_ROTCTRL_RELATIVE, REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL);
+ __raw_writel(BM_TIMROT_ROTCTRL_RELATIVE,
+ REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL_SET);
else
- stmp3xxx_clearl(BM_TIMROT_ROTCTRL_RELATIVE, REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL);
+ __raw_writel(BM_TIMROT_ROTCTRL_RELATIVE,
+ REGS_TIMROT_BASE + HW_TIMROT_ROTCTRL_CLR);
rc = rotdec_pinmux_request();
if (rc) {