public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: arnd@arndb•de (Arnd Bergmann)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v2] ARM: new platform for Energy Micro's EFM32 Cortex-M3 SoCs
Date: Tue, 17 Sep 2013 22:45:25 +0200	[thread overview]
Message-ID: <201309172245.25367.arnd@arndb.de> (raw)
In-Reply-To: <1379447884-14025-1-git-send-email-u.kleine-koenig@pengutronix.de>

On Tuesday 17 September 2013, Uwe Kleine-K?nig wrote:
>  arch/arm/Kconfig                               |  16 +++-
>  arch/arm/Kconfig.debug                         |  16 ++++
>  arch/arm/Makefile                              |   1 +
>  arch/arm/configs/efm32_defconfig               | 104 +++++++++++++++++++++++++
>  arch/arm/mach-efm32/Makefile                   |   1 +
>  arch/arm/mach-efm32/Makefile.boot              |   2 +
>  arch/arm/mach-efm32/cmu.h                      |  15 ++++
>  arch/arm/mach-efm32/common.c                   |  19 +++++
>  arch/arm/mach-efm32/common.h                   |   1 +
>  arch/arm/mach-efm32/dtmachine.c                |  31 ++++++++
>  arch/arm/mach-efm32/include/mach/debug-macro.S |  48 ++++++++++++
>  arch/arm/mach-efm32/include/mach/entry-macro.S |   5 ++
>  arch/arm/mach-efm32/include/mach/io.h          |   6 ++
>  arch/arm/mach-efm32/include/mach/irqs.h        |   6 ++
>  arch/arm/mach-efm32/include/mach/timex.h       |   7 ++

You should be able to add NOMMU platforms in combination with CONFIG_MULTIPLATFORM
now, which gets rid of most of these files.


> diff --git a/arch/arm/mach-efm32/Makefile b/arch/arm/mach-efm32/Makefile
> new file mode 100644
> index 0000000..081f45a
> --- /dev/null
> +++ b/arch/arm/mach-efm32/Makefile
> @@ -0,0 +1 @@
> +obj-y += common.o dtmachine.o

Just merge the two files into one.

> +
> +void __init efm32_init_time(void)
> +{
> +	of_clk_init(NULL);
> +	clocksource_of_init();
> +}

When Sebastian Hesselbarth's patches for of_clk_init() are merged, this function can go away.
> +static void __init efm32_init(void)
> +{
> +	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> +}
> +

And this one is already unnecessary.

> +static const char *const efm32gg_compat[] __initconst = {
> +	"efm32,dk3750",
> +	NULL
> +};
> +
> +DT_MACHINE_START(EFM32DT, "EFM32 (Device Tree Support)")
> +	.init_irq = irqchip_init,

Same for irqchip_init, which is the default when omitted.

> diff --git a/arch/arm/mach-efm32/include/mach/debug-macro.S b/arch/arm/mach-efm32/include/mach/debug-macro.S
> new file mode 100644
> index 0000000..c58915c
> --- /dev/null
> +++ b/arch/arm/mach-efm32/include/mach/debug-macro.S

Please move this to arch/arm/include/debug/ like the other such implementations.

> diff --git a/arch/arm/mach-efm32/include/mach/entry-macro.S b/arch/arm/mach-efm32/include/mach/entry-macro.S
> new file mode 100644
> index 0000000..f0c0f7d
> --- /dev/null
> +++ b/arch/arm/mach-efm32/include/mach/entry-macro.S
> @@ -0,0 +1,5 @@
> +		.macro	get_irqnr_preamble, base, tmp
> +		.endm
> +
> +		.macro	arch_ret_to_user, tmp1, tmp2
> +		.endm

And use set_handle_irq() to register a handler from your irqchip driver
to get rid of this one.

> --- /dev/null
> +++ b/arch/arm/mach-efm32/include/mach/irqs.h
> @@ -0,0 +1,6 @@
> +#ifndef __MACH_IRQS_H__
> +#define __MACH_IRQS_H__
> +
> +#define NR_IRQS			82
> +
> +#endif /* __MACH_IRQS_H__ */

This should not be needed if you have the proper IRQ domain support, which I think you do.

	Arnd

  reply	other threads:[~2013-09-17 20:45 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-17 19:58 [PATCH v2] ARM: new platform for Energy Micro's EFM32 Cortex-M3 SoCs Uwe Kleine-König
2013-09-17 20:45 ` Arnd Bergmann [this message]
2013-09-18 15:34   ` Uwe Kleine-König
2013-09-19 11:28     ` Arnd Bergmann
2013-09-19 11:34       ` Sebastian Hesselbarth
2013-09-19 12:19         ` Uwe Kleine-König
2013-09-26  9:42   ` Uwe Kleine-König
2013-09-27 21:44     ` Arnd Bergmann
2013-09-27 21:55       ` Russell King - ARM Linux
2013-09-28 19:15       ` Uwe Kleine-König
2013-09-29 19:00         ` Arnd Bergmann
2013-09-30 15:49           ` Uwe Kleine-König
2013-10-01 10:38         ` Jonathan Austin
2013-09-24 14:00 ` [PATCH] ARM: DEBUG_LL on efm32 SoCs Uwe Kleine-König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201309172245.25367.arnd@arndb.de \
    --to=arnd@arndb$(echo .)de \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox