diff mbox

mach-ixp4xx: fix build error

Message ID 1308127390-30563-1-git-send-email-linus.walleij@stericsson.com (mailing list archive)
State New, archived
Headers show

Commit Message

Linus Walleij June 15, 2011, 8:43 a.m. UTC
From: Linus Walleij <linus.walleij@linaro.org>

The introduction of clocksource_mmio_init() broke ixp4xx due to
a surplus ampersand - IXP4XX_OSTS is already a pointe to I/O
space.

Cc: Deepak Saxena <deepak.saxena@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/mach-ixp4xx/common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Richard Cochran June 15, 2011, 1:29 p.m. UTC | #1
On Wed, Jun 15, 2011 at 10:43:10AM +0200, Linus Walleij wrote:
> From: Linus Walleij <linus.walleij@linaro.org>
> 
> The introduction of clocksource_mmio_init() broke ixp4xx due to
> a surplus ampersand - IXP4XX_OSTS is already a pointe to I/O
> space.

The fix you suggest will not work on big endian ixp. See

   http://lists.arm.linux.org.uk/lurker/message/20110530.084307.f960f906.en.html

Thanks,
Richard


> 
> Cc: Deepak Saxena <deepak.saxena@linaro.org>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  arch/arm/mach-ixp4xx/common.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c
> index 74ed81a..5ec2918 100644
> --- a/arch/arm/mach-ixp4xx/common.c
> +++ b/arch/arm/mach-ixp4xx/common.c
> @@ -425,7 +425,7 @@ static void __init ixp4xx_clocksource_init(void)
>  {
>  	init_sched_clock(&cd, ixp4xx_update_sched_clock, 32, ixp4xx_timer_freq);
>  
> -	clocksource_mmio_init(&IXP4XX_OSTS, "OSTS", ixp4xx_timer_freq, 200, 32,
> +	clocksource_mmio_init(IXP4XX_OSTS, "OSTS", ixp4xx_timer_freq, 200, 32,
>  			clocksource_mmio_readl_up);
>  }
>  
> -- 
> 1.7.3.2
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Linus Walleij June 15, 2011, 2:57 p.m. UTC | #2
On Wed, Jun 15, 2011 at 3:29 PM, Richard Cochran
<richardcochran@gmail.com> wrote:
> On Wed, Jun 15, 2011 at 10:43:10AM +0200, Linus Walleij wrote:
>> From: Linus Walleij <linus.walleij@linaro.org>
>>
>> The introduction of clocksource_mmio_init() broke ixp4xx due to
>> a surplus ampersand - IXP4XX_OSTS is already a pointe to I/O
>> space.
>
> The fix you suggest will not work on big endian ixp. See

Yeah! I see. Sorry for missing it, I was just looking over the broken
kisskb items.

>   http://lists.arm.linux.org.uk/lurker/message/20110530.084307.f960f906.en.html

You do this:

+static cycle_t ixp4xx_clocksource_read(struct clocksource *c)
+{
+    return *IXP4XX_OSTS;
+}

Which is essentially __raw_readl(IXP4XX_OSTS) to get the timer in current
endianness, is it not? So please use __raw_readl() for that if I'm right.

Thanks,
Linus Walleij
diff mbox

Patch

diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c
index 74ed81a..5ec2918 100644
--- a/arch/arm/mach-ixp4xx/common.c
+++ b/arch/arm/mach-ixp4xx/common.c
@@ -425,7 +425,7 @@  static void __init ixp4xx_clocksource_init(void)
 {
 	init_sched_clock(&cd, ixp4xx_update_sched_clock, 32, ixp4xx_timer_freq);
 
-	clocksource_mmio_init(&IXP4XX_OSTS, "OSTS", ixp4xx_timer_freq, 200, 32,
+	clocksource_mmio_init(IXP4XX_OSTS, "OSTS", ixp4xx_timer_freq, 200, 32,
 			clocksource_mmio_readl_up);
 }