Re: [PATCH 2/4] watchdog: pnx4008: don't use __raw_-accessors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/02/2012 06:48 PM, Wolfram Sang wrote:
> __raw_readl/__raw_writel are not meant for drivers [1].
> 
> [1] http://thread.gmane.org/gmane.linux.ports.arm.kernel/117626
> 
> Signed-off-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx>
> ---
>  drivers/watchdog/pnx4008_wdt.c |   21 ++++++++++-----------
>  1 files changed, 10 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/watchdog/pnx4008_wdt.c b/drivers/watchdog/pnx4008_wdt.c
> index 322a392..6010602 100644
> --- a/drivers/watchdog/pnx4008_wdt.c
> +++ b/drivers/watchdog/pnx4008_wdt.c
> @@ -97,22 +97,21 @@ static void wdt_enable(void)
>  	spin_lock(&io_lock);
>  
>  	/* 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 */
> -	while (__raw_readl(WDTIM_COUNTER(wdt_base)))
> +	while (readl(WDTIM_COUNTER(wdt_base)))
>  		cpu_relax();
>  	/* internal and external reset, stop after that */
> -	__raw_writel(M_RES2 | STOP_COUNT0 | RESET_COUNT0,
> -		WDTIM_MCTRL(wdt_base));
> +	writel(M_RES2 | STOP_COUNT0 | RESET_COUNT0, WDTIM_MCTRL(wdt_base));
>  	/* 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 */
> -	__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. */
> -	__raw_writel(0xFFFF, WDTIM_PULSE(wdt_base));
> -	__raw_writel(heartbeat * WDOG_COUNTER_RATE, WDTIM_MATCH0(wdt_base));
> +	writel(0xFFFF, WDTIM_PULSE(wdt_base));
> +	writel(heartbeat * WDOG_COUNTER_RATE, WDTIM_MATCH0(wdt_base));
>  	/*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);
>  }
> @@ -121,7 +120,7 @@ static void wdt_disable(void)
>  {
>  	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);
>  }
> @@ -277,7 +276,7 @@ static int __devinit pnx4008_wdt_probe(struct platform_device *pdev)
>  		goto disable_clk;
>  	}
>  
> -	boot_status = (__raw_readl(WDTIM_RES(wdt_base)) &
> +	boot_status = (readl(WDTIM_RES(wdt_base)) &
>  		WDOG_RESET) ? WDIOF_CARDRESET : 0;
>  	wdt_disable();		/*disable for now */
>  	clk_disable(wdt_clk);

Tested-by: Roland Stigge <stigge@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux