[PATCH] ARM: ux500: get rid of static maps

Arnd Bergmann arnd at arndb.de
Wed May 13 05:00:05 PDT 2015


On Wednesday 13 May 2015 12:53:07 Linus Walleij wrote:
> The static mappings of the GPIO blocks, clock/reset controller
> and MTU timer are clearly superfluous. These are all probed
> exclusively from the device tree. Tested on the U8500.
> 
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> Hi ARM SoC-guys: please apply this single clean-up patch
> directly to the ARM SoC-tree where apropriate.

Applied to next/cleanup, very nice!

>  arch/arm/mach-ux500/cpu-db8500.c | 13 +------------
>  1 file changed, 1 insertion(+), 12 deletions(-)
> 
> diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
> index 6f63954c8bde..537a7753afc1 100644
> --- a/arch/arm/mach-ux500/cpu-db8500.c
> +++ b/arch/arm/mach-ux500/cpu-db8500.c
> @@ -48,25 +48,14 @@ static struct map_desc u8500_uart_io_desc[] __initdata = {
>         __IO_DEV_DESC(U8500_UART0_BASE, SZ_4K),
>         __IO_DEV_DESC(U8500_UART2_BASE, SZ_4K),
>  };
> +
>  /*  U8500 and U9540 common io_desc */
>  static struct map_desc u8500_common_io_desc[] __initdata = {
>         /* SCU base also covers GIC CPU BASE and TWD with its 4K page */
>         __IO_DEV_DESC(U8500_SCU_BASE, SZ_4K),
>         __IO_DEV_DESC(U8500_GIC_DIST_BASE, SZ_4K),
>         __IO_DEV_DESC(U8500_L2CC_BASE, SZ_4K),
> -       __IO_DEV_DESC(U8500_MTU0_BASE, SZ_4K),
>         __IO_DEV_DESC(U8500_BACKUPRAM0_BASE, SZ_8K),

Could you have a look at removing the other ones as well? I think
that would be a nice cleanup. I think it can be done like this:

U8500_UART?_BASE: obsolete if you call debug_ll_io_init() or have an empty
  map_io function

U8500_SCU_BASE: add a local variable in platsmp.c and use of_iomap, or
  ioremap with a fixed physical address if the DT node is missing

U8500_GIC_DIST_BASE: I don't really understand what's going on. We could
  just move the two users into local functions of the cpuidle driver and
  use ioremap of the GIC, but there might be a proper solution.

U8500_L2CC_BASE: it looks like ux500_l2x0_unlock() can be deleted, the
  l2x0_of_init() function already does this in l2c_unlock

U8500_BACKUPRAM0_BASE: the right solution is probably to use the generic
  sram, but ioremap() of the physical address in wakeup_secondary would
  also work

U8500_PRCMU_BASE: use a local variable in ux500_init_irq, and do an
  of_iomap() to pass a virtual address. Currently the callee already 
  does an ioremap, so it's probably not needed.

U8500_PRCMU_TCDM_BASE: unused?

	Arnd



More information about the linux-arm-kernel mailing list