From: Simon Horman <horms@verge.net.au>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH v2 07/15] ARM: shmobile: Basic r8a7793 SoC support
Date: Tue, 12 May 2015 07:29:38 +0000 [thread overview]
Message-ID: <20150512072937.GA6549@verge.net.au> (raw)
In-Reply-To: <1430403544-26742-8-git-send-email-ulrich.hecht+renesas@gmail.com>
Hi Laurent,
On Tue, May 12, 2015 at 10:27:51AM +0300, Laurent Pinchart wrote:
> Hi Simon,
>
> On Tuesday 12 May 2015 16:19:33 Simon Horman wrote:
> > On Tue, May 12, 2015 at 09:51:26AM +0300, Laurent Pinchart wrote:
> > > On Tuesday 12 May 2015 13:06:11 Simon Horman wrote:
> > > > On Wed, May 06, 2015 at 07:20:05AM +0300, Laurent Pinchart wrote:
> > > > > On Thursday 30 April 2015 16:18:56 Ulrich Hecht wrote:
> > > > > > Minimal support without power management or SMP.
> > > > > >
> > > > > > Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
> > > > > > ---
> > > > > >
> > > > > > arch/arm/mach-shmobile/Kconfig | 4 ++++
> > > > > > arch/arm/mach-shmobile/Makefile | 1 +
> > > > > > arch/arm/mach-shmobile/setup-r8a7793.c | 33 +++++++++++++++++++++++
> > > > > > 3 files changed, 38 insertions(+)
> > > > > > create mode 100644 arch/arm/mach-shmobile/setup-r8a7793.c
> > > > > >
> > > > > > diff --git a/arch/arm/mach-shmobile/Kconfig
> > > > > > b/arch/arm/mach-shmobile/Kconfig index 0fb4842..140b696 100644
> > > > > > --- a/arch/arm/mach-shmobile/Kconfig
> > > > > > +++ b/arch/arm/mach-shmobile/Kconfig
> > > > > > @@ -80,6 +80,10 @@ config ARCH_R8A7791
> > > > > > select ARCH_RCAR_GEN2
> > > > > > select I2C
> > > > > >
> > > > > > +config ARCH_R8A7793
> > > > > > + bool "R-Car M2-N (R8A7793)"
> > > > > > + select ARCH_RCAR_GEN2
> > > > > > +
> > > > > > config ARCH_R8A7794
> > > > > > bool "R-Car E2 (R8A77940)"
> > > > > > diff --git a/arch/arm/mach-shmobile/Makefile
> > > > > > b/arch/arm/mach-shmobile/Makefile index 89e463d..e4b8fdb 100644
> > > > > > --- a/arch/arm/mach-shmobile/Makefile
> > > > > > +++ b/arch/arm/mach-shmobile/Makefile
> > > > > > @@ -13,6 +13,7 @@ obj-$(CONFIG_ARCH_R8A7778) += setup-r8a7778.o
> > > > > > obj-$(CONFIG_ARCH_R8A7779) += setup-r8a7779.o pm-r8a7779.o
> > > > > > obj-$(CONFIG_ARCH_R8A7790) += setup-r8a7790.o
> > > > > > obj-$(CONFIG_ARCH_R8A7791) += setup-r8a7791.o
> > > > > > +obj-$(CONFIG_ARCH_R8A7793) += setup-r8a7793.o
> > > > > > obj-$(CONFIG_ARCH_R8A7794) += setup-r8a7794.o
> > > > > > obj-$(CONFIG_ARCH_EMEV2) += setup-emev2.o
> > > > > > obj-$(CONFIG_ARCH_R7S72100) += setup-r7s72100.o
> > > > > > diff --git a/arch/arm/mach-shmobile/setup-r8a7793.c
> > > > > > b/arch/arm/mach-shmobile/setup-r8a7793.c new file mode 100644
> > > > > > index 0000000..1d2825c
> > > > > > --- /dev/null
> > > > > > +++ b/arch/arm/mach-shmobile/setup-r8a7793.c
> > > > > > @@ -0,0 +1,33 @@
> > > > > > +/*
> > > > > > + * r8a7793 processor support
> > > > > > + *
> > > > > > + * Copyright (C) 2015 Ulrich Hecht
> > > > > > + *
> > > > > > + * This program is free software; you can redistribute it and/or
> > > > > > modify
> > > > > > + * it under the terms of the GNU General Public License as
> > > > > > published by
> > > > > > + * the Free Software Foundation; version 2 of the License.
> > > > > > + *
> > > > > > + * This program is distributed in the hope that it will be useful,
> > > > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > > > > > + * GNU General Public License for more details.
> > > > > > + */
> > > > > > +
> > > > > > +#include <linux/init.h>
> > > > > > +#include <asm/mach/arch.h>
> > > > > > +
> > > > > > +#include "common.h"
> > > > > > +#include "rcar-gen2.h"
> > > > > > +
> > > > > > +static const char *r8a7793_boards_compat_dt[] __initconst = {
> > > > > > + "renesas,r8a7793",
> > > > > > + NULL,
> > > > > > +};
> > > > > > +
> > > > > > +DT_MACHINE_START(R8A7793_DT, "Generic R8A7793 (Flattened Device
> > > > > > Tree)")
> > > > > > + .init_early = shmobile_init_delay,
> > > > > > + .init_time = rcar_gen2_timer_init,
> > > > > > + .init_late = shmobile_init_late,
> > > > > > + .reserve = rcar_gen2_reserve,
> > > > > > + .dt_compat = r8a7793_boards_compat_dt,
> > > > > > +MACHINE_END
> > > > >
> > > > > How about moving that to setup-rcar-gen2.c instead ? There's nothing
> > > > > specific to r8a7793 here. We could even introduce a
> > > > > "renesas,rcar-gen2" DT compatible entry and match on that instead of
> > > > > "renesas,r8a7793" (which should of course be specified as well in DT).
> > > > > You could also add "renesas,r8a7794" to the setup-rcar-gen2.c compat
> > > > > list and remove setup-r8a7794.c.
> > > >
> > > > I believe there are two issues here:
> > > >
> > > > 1. Consolidating code
> > > >
> > > > From my point of view I think this is an excellent idea.
> > > > However I would rather add this patch as-is and then
> > > > address consolidation later.
> > > >
> > > > This avoids blocking on consolidation and I believe we have
> > > > a pretty good record of coming back and doing consolidation
> > > > (at least in arch/arm/mach-shmobile/) that has been suggested
> > > > as a result of adding support for new SoCs.
> > >
> > > I'm fine with that, as long as we use CPU_METHOD_OF_DECLARE() in patch
> > > 10/15, otherwise it would block any future consolidation.
> >
> > I'm not sure that I follow. Could you expand on this a little?
>
> Our current SMP implementations plug the SMP ops into the .smp field of the
> machine description. This requires one machine description per SoC. Switching
> to the CPU_METHOD_OF_DECLARE() method of wiring up the SMP ops would allow
> merging all otherwise identical machine descriptions together. However, as
> this requires an enable-method property in the cpu node, we can't switch an
> existing platform from .smp to CPU_METHOD_OF_DECLARE() without breaking
> backward compatibility with older DTs. I personally don't care, but not
> everybody seems to agree ;-)
>
> So, if we want to enable later consolidation, we must start using
> CPU_METHOD_OF_DECLARE() right away.
Thanks, that seems like a good idea to me.
prev parent reply other threads:[~2015-05-12 7:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-30 14:18 [PATCH v2 07/15] ARM: shmobile: Basic r8a7793 SoC support Ulrich Hecht
2015-05-06 4:20 ` Laurent Pinchart
2015-05-12 4:06 ` Simon Horman
2015-05-12 6:51 ` Laurent Pinchart
2015-05-12 7:19 ` Simon Horman
2015-05-12 7:27 ` Laurent Pinchart
2015-05-12 7:29 ` Simon Horman [this message]
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=20150512072937.GA6549@verge.net.au \
--to=horms@verge.net.au \
--cc=linux-sh@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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