diff options
author | Frank.Li <Frank.Li@freescale.com> | 2009-11-18 11:43:37 -0600 |
---|---|---|
committer | David Ungar <david.ungar@timesys.com> | 2010-04-19 17:03:30 -0400 |
commit | 96a883af0236bb01a63b6d10efd9a0c49706fcb0 (patch) | |
tree | f34f68db4501618df14f82033f2ad4d5057ebc8d /drivers/input/misc/stmp3xxx_rotdec.c | |
parent | 909c390117689e87df9b15a570222307cd56b968 (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.c | 10 |
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) { |