提交 7cbc3535 编写于 作者: W Wolfram Sang 提交者: Wim Van Sebroeck

watchdog: pnx4008: don't use __raw_-accessors

__raw_readl/__raw_writel are not meant for drivers [1].

[1] http://thread.gmane.org/gmane.linux.ports.arm.kernel/117626Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
上级 19f505f0
...@@ -95,22 +95,21 @@ static void wdt_enable(void) ...@@ -95,22 +95,21 @@ static void wdt_enable(void)
spin_lock(&io_lock); spin_lock(&io_lock);
/* stop counter, initiate counter reset */ /* stop counter, initiate counter reset */
__raw_writel(RESET_COUNT, WDTIM_CTRL(wdt_base)); writel(RESET_COUNT, WDTIM_CTRL(wdt_base));
/*wait for reset to complete. 100% guarantee event */ /*wait for reset to complete. 100% guarantee event */
while (__raw_readl(WDTIM_COUNTER(wdt_base))) while (readl(WDTIM_COUNTER(wdt_base)))
cpu_relax(); cpu_relax();
/* internal and external reset, stop after that */ /* internal and external reset, stop after that */
__raw_writel(M_RES2 | STOP_COUNT0 | RESET_COUNT0, writel(M_RES2 | STOP_COUNT0 | RESET_COUNT0, WDTIM_MCTRL(wdt_base));
WDTIM_MCTRL(wdt_base));
/* configure match output */ /* configure match output */
__raw_writel(MATCH_OUTPUT_HIGH, WDTIM_EMR(wdt_base)); writel(MATCH_OUTPUT_HIGH, WDTIM_EMR(wdt_base));
/* clear interrupt, just in case */ /* clear interrupt, just in case */
__raw_writel(MATCH_INT, WDTIM_INT(wdt_base)); writel(MATCH_INT, WDTIM_INT(wdt_base));
/* the longest pulse period 65541/(13*10^6) seconds ~ 5 ms. */ /* the longest pulse period 65541/(13*10^6) seconds ~ 5 ms. */
__raw_writel(0xFFFF, WDTIM_PULSE(wdt_base)); writel(0xFFFF, WDTIM_PULSE(wdt_base));
__raw_writel(heartbeat * WDOG_COUNTER_RATE, WDTIM_MATCH0(wdt_base)); writel(heartbeat * WDOG_COUNTER_RATE, WDTIM_MATCH0(wdt_base));
/*enable counter, stop when debugger active */ /*enable counter, stop when debugger active */
__raw_writel(COUNT_ENAB | DEBUG_EN, WDTIM_CTRL(wdt_base)); writel(COUNT_ENAB | DEBUG_EN, WDTIM_CTRL(wdt_base));
spin_unlock(&io_lock); spin_unlock(&io_lock);
} }
...@@ -119,7 +118,7 @@ static void wdt_disable(void) ...@@ -119,7 +118,7 @@ static void wdt_disable(void)
{ {
spin_lock(&io_lock); spin_lock(&io_lock);
__raw_writel(0, WDTIM_CTRL(wdt_base)); /*stop counter */ writel(0, WDTIM_CTRL(wdt_base)); /*stop counter */
spin_unlock(&io_lock); spin_unlock(&io_lock);
} }
...@@ -269,8 +268,8 @@ static int __devinit pnx4008_wdt_probe(struct platform_device *pdev) ...@@ -269,8 +268,8 @@ static int __devinit pnx4008_wdt_probe(struct platform_device *pdev)
if (ret) if (ret)
goto out; goto out;
boot_status = (__raw_readl(WDTIM_RES(wdt_base)) & boot_status = (readl(WDTIM_RES(wdt_base)) & WDOG_RESET) ?
WDOG_RESET) ? WDIOF_CARDRESET : 0; WDIOF_CARDRESET : 0;
wdt_disable(); /*disable for now */ wdt_disable(); /*disable for now */
clk_disable(wdt_clk); clk_disable(wdt_clk);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册