From: jnair@caviumnetworks.com (Jayachandran C)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RESEND 1/3] arm64: add THUNDER2 processor family
Date: Tue, 7 Feb 2017 09:41:07 +0000 [thread overview]
Message-ID: <20170207094106.GA2194@localhost> (raw)
In-Reply-To: <CAK8P3a1BTV4ZH9eQHwhyZ4AVVSwxsM_MD+iuByfdXDbE3M_szg@mail.gmail.com>
On Mon, Feb 06, 2017 at 04:38:24PM +0100, Arnd Bergmann wrote:
> On Mon, Feb 6, 2017 at 4:21 PM, Jayachandran C <jnair@caviumnetworks.com> wrote:
> > On Mon, Feb 06, 2017 at 02:44:13PM +0100, Arnd Bergmann wrote:
> >> On Mon, Feb 6, 2017 at 11:06 AM, Will Deacon <will.deacon@arm.com> wrote:
> >
> > The Vulcan architecture has been discontinued by Broadcom, so the platform
> > and device tree files should go away soon. Renames are going to be messy, it
> > will be better to keep Vulcan around until the transition is complete, and
> > then delete it.
>
> What are the disadvantages of a rename in your opinion? Are you mainly
> worried about merge conflicts or something else?
Ok, we are talking about 2 renames,
1. ARCH_VULCAN -> ARCH_THUNDER2, please see below, but I think there is
board agreement on steps:
- add ARCH_THUNDER2 in a patchset in a dev cycle
- when it is mainline, replace ARCH_VULCAN with ARCH_THUNDER2 in the
next cycle for drivers
2. boot/dts/broadcom/vulcan* -> boot/dts/cavium/thunder-99*
If I understand correctly, the main sticking point here is the
duplication of the dtsi file for SoC, instead of just including
vulcan.dtsi in thunder-99xx board file.
It is not so bad in my view to have the duplication in a kernel version
until vulcan is removed. I think you would prefer something like this:
- have a patchset in this dev cycle to include vulcan.dtsi in
thunder-99xx.dts (the 99xx name to match 88xx already there)
- patchset in an upcoming dev cycle to:
* remove ARCH_VULCAN
* move vulcan.dtsi -> thunder-99xx.dtsi, drop vulcan ids which are
removed.
This seems reasonable to me, I will send out a patch to do this (if you
do not have any further comments)
> >> Hmm, an alternative would be to add the new .dtsi file and start out with an
> >> #include of the existing file, with overrides for anything that needs changing.
> >> Similarly, the Kconfig symbol could just 'select ARCH_VULCAN' for now.
> >
> > Even in this case, we will need to copy the files from boot/dts/broadcom to
> > boot/dts/cavium along the way. The current patchset is (in my opinion) the
> > least messy way to accomplish the transition. But it is the maintainer's call,
> > so if you think it has to be done differently, I can update the patchset and
> > post again.
>
> I don't see the need to copy if we can do an #include and later move the
> file into the new place. I also see only three references to ARCH_VULCAN
> at all aside from the dts file.
>
> arch/arm64/configs/defconfig:CONFIG_ARCH_VULCAN=y
> drivers/gpio/Kconfig: depends on OF_GPIO && (CPU_XLP || ARCH_VULCAN
> || COMPILE_TEST)
> drivers/i2c/busses/Kconfig: depends on CPU_XLP || ARCH_VULCAN ||
> COMPILE_TEST
> drivers/spi/Kconfig: depends on CPU_XLP || ARCH_VULCAN || COMPILE_TEST
>
> We can probably manage to have a single patch to rename them all at
> the same time, or we do the add+remove over two merge windows.
Doing it in a single patch has to be acked by 3 maintainers, and
merged thru the arm-soc tree.
The simpler solution is to change these in 3 different patches, and
then remove ARCH_VULCAN Kconfig entry and defconfig entry when all
the references in the tree is gone.
> I also noticed now that you dropped the vulcan "compatible" strings in
> the .dtsi files, I think we should keep those as a fallback, and to avoid
> having interdependencies with the driver updates, e.g. the top-level
> compatible string should be
>
> compatible = "cavium,thunder-9900", "brcm,vulcan-soc";
>
> for the SoC, plus of course the board specific identifier in front of that.
> Same for the CPU, the i2c, gpio, and pmu.
The board, SoC, and cpu compat strings will go away with the platform,
so I did not add them here. With the updated plan above, I think we can
take care of this while deleting vulcan.
There is no plan to change compat properties in drivers, we can add
cavium compat properties when necessary. PMU is a slightly special
case, but we can be compatible with vulcan there too, until things
change.
Thanks,
JC.
WARNING: multiple messages have this Message-ID (diff)
From: Jayachandran C <jnair-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
Linux ARM
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH RESEND 1/3] arm64: add THUNDER2 processor family
Date: Tue, 7 Feb 2017 09:41:07 +0000 [thread overview]
Message-ID: <20170207094106.GA2194@localhost> (raw)
In-Reply-To: <CAK8P3a1BTV4ZH9eQHwhyZ4AVVSwxsM_MD+iuByfdXDbE3M_szg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Mon, Feb 06, 2017 at 04:38:24PM +0100, Arnd Bergmann wrote:
> On Mon, Feb 6, 2017 at 4:21 PM, Jayachandran C <jnair-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org> wrote:
> > On Mon, Feb 06, 2017 at 02:44:13PM +0100, Arnd Bergmann wrote:
> >> On Mon, Feb 6, 2017 at 11:06 AM, Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org> wrote:
> >
> > The Vulcan architecture has been discontinued by Broadcom, so the platform
> > and device tree files should go away soon. Renames are going to be messy, it
> > will be better to keep Vulcan around until the transition is complete, and
> > then delete it.
>
> What are the disadvantages of a rename in your opinion? Are you mainly
> worried about merge conflicts or something else?
Ok, we are talking about 2 renames,
1. ARCH_VULCAN -> ARCH_THUNDER2, please see below, but I think there is
board agreement on steps:
- add ARCH_THUNDER2 in a patchset in a dev cycle
- when it is mainline, replace ARCH_VULCAN with ARCH_THUNDER2 in the
next cycle for drivers
2. boot/dts/broadcom/vulcan* -> boot/dts/cavium/thunder-99*
If I understand correctly, the main sticking point here is the
duplication of the dtsi file for SoC, instead of just including
vulcan.dtsi in thunder-99xx board file.
It is not so bad in my view to have the duplication in a kernel version
until vulcan is removed. I think you would prefer something like this:
- have a patchset in this dev cycle to include vulcan.dtsi in
thunder-99xx.dts (the 99xx name to match 88xx already there)
- patchset in an upcoming dev cycle to:
* remove ARCH_VULCAN
* move vulcan.dtsi -> thunder-99xx.dtsi, drop vulcan ids which are
removed.
This seems reasonable to me, I will send out a patch to do this (if you
do not have any further comments)
> >> Hmm, an alternative would be to add the new .dtsi file and start out with an
> >> #include of the existing file, with overrides for anything that needs changing.
> >> Similarly, the Kconfig symbol could just 'select ARCH_VULCAN' for now.
> >
> > Even in this case, we will need to copy the files from boot/dts/broadcom to
> > boot/dts/cavium along the way. The current patchset is (in my opinion) the
> > least messy way to accomplish the transition. But it is the maintainer's call,
> > so if you think it has to be done differently, I can update the patchset and
> > post again.
>
> I don't see the need to copy if we can do an #include and later move the
> file into the new place. I also see only three references to ARCH_VULCAN
> at all aside from the dts file.
>
> arch/arm64/configs/defconfig:CONFIG_ARCH_VULCAN=y
> drivers/gpio/Kconfig: depends on OF_GPIO && (CPU_XLP || ARCH_VULCAN
> || COMPILE_TEST)
> drivers/i2c/busses/Kconfig: depends on CPU_XLP || ARCH_VULCAN ||
> COMPILE_TEST
> drivers/spi/Kconfig: depends on CPU_XLP || ARCH_VULCAN || COMPILE_TEST
>
> We can probably manage to have a single patch to rename them all at
> the same time, or we do the add+remove over two merge windows.
Doing it in a single patch has to be acked by 3 maintainers, and
merged thru the arm-soc tree.
The simpler solution is to change these in 3 different patches, and
then remove ARCH_VULCAN Kconfig entry and defconfig entry when all
the references in the tree is gone.
> I also noticed now that you dropped the vulcan "compatible" strings in
> the .dtsi files, I think we should keep those as a fallback, and to avoid
> having interdependencies with the driver updates, e.g. the top-level
> compatible string should be
>
> compatible = "cavium,thunder-9900", "brcm,vulcan-soc";
>
> for the SoC, plus of course the board specific identifier in front of that.
> Same for the CPU, the i2c, gpio, and pmu.
The board, SoC, and cpu compat strings will go away with the platform,
so I did not add them here. With the updated plan above, I think we can
take care of this while deleting vulcan.
There is no plan to change compat properties in drivers, we can add
cavium compat properties when necessary. PMU is a slightly special
case, but we can be compatible with vulcan there too, until things
change.
Thanks,
JC.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-02-07 9:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-04 18:37 [PATCH RESEND 0/3] arm64: Add ARCH_THUNDER2 Jayachandran C
2017-02-04 18:37 ` Jayachandran C
2017-02-04 18:37 ` [PATCH RESEND 1/3] arm64: add THUNDER2 processor family Jayachandran C
2017-02-04 18:37 ` Jayachandran C
2017-02-06 10:06 ` Will Deacon
2017-02-06 10:06 ` Will Deacon
2017-02-06 13:44 ` Arnd Bergmann
2017-02-06 13:44 ` Arnd Bergmann
2017-02-06 15:21 ` Jayachandran C
2017-02-06 15:21 ` Jayachandran C
2017-02-06 15:38 ` Arnd Bergmann
2017-02-06 15:38 ` Arnd Bergmann
2017-02-07 9:41 ` Jayachandran C [this message]
2017-02-07 9:41 ` Jayachandran C
2017-02-04 18:37 ` [PATCH RESEND 2/3] dt-bindings: arm64 ARCH_THUNDER2 platform documentation Jayachandran C
2017-02-04 18:37 ` Jayachandran C
2017-02-04 18:37 ` [PATCH RESEND 3/3] arm64: add ARCH_THUNDER2 to defconfig Jayachandran C
2017-02-04 18:37 ` Jayachandran C
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=20170207094106.GA2194@localhost \
--to=jnair@caviumnetworks.com \
--cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.