On 09/14/2012 11:34 PM, Arnd Bergmann :
> ARM is moving to stricter checks on readl/write functions,
> so we need to use the correct types everywhere.
> 
> Cc: Nicolas Ferre <nicolas.fe...@atmel.com>
> Cc: Jean-Christophe Plagniol-Villard <plagn...@jcrosoft.com>
> Signed-off-by: Arnd Bergmann <a...@arndb.de>
> ---
>  arch/arm/mach-at91/at91x40.c                 |    2 +-
>  arch/arm/mach-at91/at91x40_time.c            |    4 ++--
>  arch/arm/mach-at91/include/mach/hardware.h   |    4 ++--
>  arch/arm/mach-at91/include/mach/uncompress.h |    6 +++---
>  arch/arm/mach-at91/setup.c                   |    4 ++--
>  5 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/mach-at91/at91x40.c b/arch/arm/mach-at91/at91x40.c
> index 46090e6..6bd7300 100644
> --- a/arch/arm/mach-at91/at91x40.c
> +++ b/arch/arm/mach-at91/at91x40.c
> @@ -47,7 +47,7 @@ static void at91x40_idle(void)
>        * Disable the processor clock.  The processor will be automatically
>        * re-enabled by an interrupt or by a reset.
>        */
> -     __raw_writel(AT91_PS_CR_CPU, AT91_PS_CR);
> +     __raw_writel(AT91_PS_CR_CPU, AT91_IO_P2V(AT91_PS_CR));
>       cpu_do_idle();
>  }
>  
> diff --git a/arch/arm/mach-at91/at91x40_time.c 
> b/arch/arm/mach-at91/at91x40_time.c
> index 6ca680a..ee06d7b 100644
> --- a/arch/arm/mach-at91/at91x40_time.c
> +++ b/arch/arm/mach-at91/at91x40_time.c
> @@ -29,10 +29,10 @@
>  #include <mach/at91_tc.h>
>  
>  #define at91_tc_read(field) \
> -     __raw_readl(AT91_TC + field)
> +     __raw_readl(AT91_IO_P2V(AT91_TC) + field)
>  
>  #define at91_tc_write(field, value) \
> -     __raw_writel(value, AT91_TC + field);
> +     __raw_writel(value, AT91_IO_P2V(AT91_TC) + field);
>  
>  /*
>   *   3 counter/timer units present.
> diff --git a/arch/arm/mach-at91/include/mach/hardware.h 
> b/arch/arm/mach-at91/include/mach/hardware.h
> index 09242b6..711a789 100644
> --- a/arch/arm/mach-at91/include/mach/hardware.h
> +++ b/arch/arm/mach-at91/include/mach/hardware.h
> @@ -67,13 +67,13 @@
>   * to 0xFEF78000 .. 0xFF000000.  (544Kb)
>   */
>  #define AT91_IO_PHYS_BASE    0xFFF78000
> -#define AT91_IO_VIRT_BASE    (0xFF000000 - AT91_IO_SIZE)
> +#define AT91_IO_VIRT_BASE    IOMEM(0xFF000000 - AT91_IO_SIZE)
>  #else
>  /*
>   * Identity mapping for the non MMU case.
>   */
>  #define AT91_IO_PHYS_BASE    AT91_BASE_SYS
> -#define AT91_IO_VIRT_BASE    AT91_IO_PHYS_BASE
> +#define AT91_IO_VIRT_BASE    IOMEM(AT91_IO_PHYS_BASE)
>  #endif
>  
>  #define AT91_IO_SIZE         (0xFFFFFFFF - AT91_IO_PHYS_BASE + 1)
> diff --git a/arch/arm/mach-at91/include/mach/uncompress.h 
> b/arch/arm/mach-at91/include/mach/uncompress.h
> index 6f6118d..58c9d5b 100644
> --- a/arch/arm/mach-at91/include/mach/uncompress.h
> +++ b/arch/arm/mach-at91/include/mach/uncompress.h
> @@ -94,7 +94,7 @@ static const u32 uarts_sam9x5[] = {
>       0,
>  };
>  
> -static inline const u32* decomp_soc_detect(u32 dbgu_base)
> +static inline const u32* decomp_soc_detect(void __iomem*dbgu_base)

A whitespace is missing before the *, no?

>  {
>       u32 cidr, socid;
>  
> @@ -142,10 +142,10 @@ static inline void arch_decomp_setup(void)
>       int i = 0;
>       const u32* usarts;
>  
> -     usarts = decomp_soc_detect(AT91_BASE_DBGU0);
> +     usarts = decomp_soc_detect((void __iomem *)AT91_BASE_DBGU0);
>  
>       if (!usarts)
> -             usarts = decomp_soc_detect(AT91_BASE_DBGU1);
> +             usarts = decomp_soc_detect((void __iomem *)AT91_BASE_DBGU1);
>       if (!usarts) {
>               at91_uart = NULL;
>               return;
> diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
> index 944bffb..e6f52de 100644
> --- a/arch/arm/mach-at91/setup.c
> +++ b/arch/arm/mach-at91/setup.c
> @@ -73,7 +73,7 @@ void __init at91_init_sram(int bank, unsigned long base, 
> unsigned int length)
>  {
>       struct map_desc *desc = &sram_desc[bank];
>  
> -     desc->virtual = AT91_IO_VIRT_BASE - length;
> +     desc->virtual = (unsigned long)AT91_IO_VIRT_BASE - length;
>       if (bank > 0)
>               desc->virtual -= sram_desc[bank - 1].length;
>  
> @@ -88,7 +88,7 @@ void __init at91_init_sram(int bank, unsigned long base, 
> unsigned int length)
>  }
>  
>  static struct map_desc at91_io_desc __initdata = {
> -     .virtual        = AT91_VA_BASE_SYS,
> +     .virtual        = (unsigned long)AT91_VA_BASE_SYS,
>       .pfn            = __phys_to_pfn(AT91_BASE_SYS),
>       .length         = SZ_16K,
>       .type           = MT_DEVICE,
> 

Otherwise, look good.

Acked-by: Nicolas Ferre <nicolas.fe...@atmel.com>

You can carry it directly in the arm-soc tree.

Bye,
-- 
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to