diff mbox

[5/5] ARM: sunxi: Remove sun4i and sun7i machine definitions

Message ID 1398265476-29373-6-git-send-email-maxime.ripard@free-electrons.com (mailing list archive)
State New, archived
Headers show

Commit Message

Maxime Ripard April 23, 2014, 3:04 p.m. UTC
The sun4i and sun7i machines are nothing more than a generic machine now, we
can completely remove them.

Only stays the sun6i machine, that needs to have its reset controller enabled
before the timers.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/mach-sunxi/sunxi.c | 29 -----------------------------
 1 file changed, 29 deletions(-)

Comments

Arnd Bergmann April 23, 2014, 4:02 p.m. UTC | #1
On Wednesday 23 April 2014 17:04:36 Maxime Ripard wrote:
>  
> -static void __init sunxi_dt_init(void)
> -{
> -       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> -}
> -
> -static const char * const sunxi_board_dt_compat[] = {
> -       "allwinner,sun4i-a10",
> -       "allwinner,sun5i-a10s",
> -       "allwinner,sun5i-a13",
> -       NULL,
> -};
> -
> -DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
> -       .init_machine   = sunxi_dt_init,
> -       .dt_compat      = sunxi_board_dt_compat,
> -MACHINE_END
> -
>  static const char * const sun6i_board_dt_compat[] = {
>         "allwinner,sun6i-a31",
>         NULL,

I'd like to hear more opinions on this. We could either rely
on the generic code, or we could keep the entry with just
the .dt_compat line and the name, so /proc/cpuinfo contains
a meaningful platform name.

Either approach works for me, but I think we should do this
consistent across platforms. Olof, do you have an opinion?

	Arnd
Maxime Ripard April 24, 2014, 12:59 p.m. UTC | #2
On Wed, Apr 23, 2014 at 06:02:51PM +0200, Arnd Bergmann wrote:
> On Wednesday 23 April 2014 17:04:36 Maxime Ripard wrote:
> >  
> > -static void __init sunxi_dt_init(void)
> > -{
> > -       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> > -}
> > -
> > -static const char * const sunxi_board_dt_compat[] = {
> > -       "allwinner,sun4i-a10",
> > -       "allwinner,sun5i-a10s",
> > -       "allwinner,sun5i-a13",
> > -       NULL,
> > -};
> > -
> > -DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
> > -       .init_machine   = sunxi_dt_init,
> > -       .dt_compat      = sunxi_board_dt_compat,
> > -MACHINE_END
> > -
> >  static const char * const sun6i_board_dt_compat[] = {
> >         "allwinner,sun6i-a31",
> >         NULL,
> 
> I'd like to hear more opinions on this. We could either rely
> on the generic code, or we could keep the entry with just
> the .dt_compat line and the name, so /proc/cpuinfo contains
> a meaningful platform name.

Ah! I haven't thought of /proc/cpuinfo. I agree that having something
meaningful in there would be much better.

I'll respin the patch if Olof agrees.

Thanks!
Maxime
Olof Johansson April 29, 2014, 1:08 a.m. UTC | #3
On Wed, Apr 23, 2014 at 9:02 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday 23 April 2014 17:04:36 Maxime Ripard wrote:
>>
>> -static void __init sunxi_dt_init(void)
>> -{
>> -       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
>> -}
>> -
>> -static const char * const sunxi_board_dt_compat[] = {
>> -       "allwinner,sun4i-a10",
>> -       "allwinner,sun5i-a10s",
>> -       "allwinner,sun5i-a13",
>> -       NULL,
>> -};
>> -
>> -DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
>> -       .init_machine   = sunxi_dt_init,
>> -       .dt_compat      = sunxi_board_dt_compat,
>> -MACHINE_END
>> -
>>  static const char * const sun6i_board_dt_compat[] = {
>>         "allwinner,sun6i-a31",
>>         NULL,
>
> I'd like to hear more opinions on this. We could either rely
> on the generic code, or we could keep the entry with just
> the .dt_compat line and the name, so /proc/cpuinfo contains
> a meaningful platform name.
>
> Either approach works for me, but I think we should do this
> consistent across platforms. Olof, do you have an opinion?

In reality, today, most platforms still need some out-of-tree stuff
that usually goes into the mach directory on out of tree kernels. It
also gives a place to stick the Kconfig entries, it's been nice to
have them split out in per-platform Kconfigs instead of having them
all modify and conflict the shared one.

I know those aren't strong arguments to keep it, but given that all
other things are more or less equal, it's a good a reason as any.

But, I'm not picky either way.


-Olof
Maxime Ripard April 30, 2014, 6:31 p.m. UTC | #4
Hi,

On Mon, Apr 28, 2014 at 06:08:53PM -0700, Olof Johansson wrote:
> On Wed, Apr 23, 2014 at 9:02 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Wednesday 23 April 2014 17:04:36 Maxime Ripard wrote:
> >>
> >> -static void __init sunxi_dt_init(void)
> >> -{
> >> -       of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
> >> -}
> >> -
> >> -static const char * const sunxi_board_dt_compat[] = {
> >> -       "allwinner,sun4i-a10",
> >> -       "allwinner,sun5i-a10s",
> >> -       "allwinner,sun5i-a13",
> >> -       NULL,
> >> -};
> >> -
> >> -DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
> >> -       .init_machine   = sunxi_dt_init,
> >> -       .dt_compat      = sunxi_board_dt_compat,
> >> -MACHINE_END
> >> -
> >>  static const char * const sun6i_board_dt_compat[] = {
> >>         "allwinner,sun6i-a31",
> >>         NULL,
> >
> > I'd like to hear more opinions on this. We could either rely
> > on the generic code, or we could keep the entry with just
> > the .dt_compat line and the name, so /proc/cpuinfo contains
> > a meaningful platform name.
> >
> > Either approach works for me, but I think we should do this
> > consistent across platforms. Olof, do you have an opinion?
> 
> In reality, today, most platforms still need some out-of-tree stuff
> that usually goes into the mach directory on out of tree kernels. It
> also gives a place to stick the Kconfig entries, it's been nice to
> have them split out in per-platform Kconfigs instead of having them
> all modify and conflict the shared one.
> 
> I know those aren't strong arguments to keep it, but given that all
> other things are more or less equal, it's a good a reason as any.

I guess the /proc/cpuinfo thing just tip the scales to keeping the
minimal machines. I'll update the patches.

Maxime
diff mbox

Patch

diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 1c62a0a021d7..205cd75f63f5 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -12,29 +12,11 @@ 
 
 #include <linux/clk-provider.h>
 #include <linux/clocksource.h>
-#include <linux/of_platform.h>
 
 #include <asm/mach/arch.h>
 
 #include "common.h"
 
-static void __init sunxi_dt_init(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-}
-
-static const char * const sunxi_board_dt_compat[] = {
-	"allwinner,sun4i-a10",
-	"allwinner,sun5i-a10s",
-	"allwinner,sun5i-a13",
-	NULL,
-};
-
-DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
-	.init_machine	= sunxi_dt_init,
-	.dt_compat	= sunxi_board_dt_compat,
-MACHINE_END
-
 static const char * const sun6i_board_dt_compat[] = {
 	"allwinner,sun6i-a31",
 	NULL,
@@ -49,18 +31,7 @@  static void __init sun6i_timer_init(void)
 }
 
 DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
-	.init_machine	= sunxi_dt_init,
 	.init_time	= sun6i_timer_init,
 	.dt_compat	= sun6i_board_dt_compat,
 	.smp		= smp_ops(sun6i_smp_ops),
 MACHINE_END
-
-static const char * const sun7i_board_dt_compat[] = {
-	"allwinner,sun7i-a20",
-	NULL,
-};
-
-DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
-	.init_machine	= sunxi_dt_init,
-	.dt_compat	= sun7i_board_dt_compat,
-MACHINE_END