From: Stephen Boyd <sboyd@codeaurora.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Arnd Bergmann <arnd@arndb.de>,
Kevin Hilman <khilman@baylibre.com>,
Michael Turquette <mturquette@baylibre.com>,
Magnus Damm <magnus.damm@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
Simon Horman <horms@verge.net.au>,
Philipp Zabel <p.zabel@pengutronix.de>,
Olof Johansson <olof@lixom.net>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4 00/23] soc: renesas: Add R-Car RST driver for obtaining mode pin state
Date: Fri, 4 Nov 2016 12:49:14 -0700 [thread overview]
Message-ID: <20161104194914.GB16026@codeaurora.org> (raw)
In-Reply-To: <CAMuHMdXOW4Ubafu=x9pCw_W-MtLGe3N974dbfHCH5TJuUAeYrQ@mail.gmail.com>
On 11/02, Geert Uytterhoeven wrote:
> On Tue, Nov 1, 2016 at 12:25 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> >
> > Would the pull requests for clk also have dts changes at the base
> > of the tree? Perhaps clk side can just ack the clk patches and
>
> Yes they would: this is moving functionality from platform code to DT.
> Without the DT updates, it will break bisection (except for R-Car Gen2,
> where we have fallback code to handle old DTBs).
>
> > then have it all routed through arm-soc? The only worry I have is
> > if we need to make some sort of change in clk side that conflicts
> > with these changes. I don't usually like taking dts changes
> > through clk tree, so I'd like to avoid that if possible.
>
> Everything could go through arm-soc only with your Acked-by.
> However, there are new clock drivers pending on this series.
> Either they have to go through arm-soc, too, or this series would
> be pulled into the clk tree with these new clock drivers.
>
> > Part E could happen anytime after everything else happens, so
> > that doesn't seem like a concern.
>
> Part E can indeed by postponed.
> But if parts A-D are applied together, there's no reason to postpone part E.
>
> > Part C could also be made to
> > only call into the new reset drivers if the reset dts nodes are
> > present? If that's done then we could merge clk patches anytime
> > and remove the dead code and the node search at some later time
> > when everything has settled?
>
> That would require adding more backwards compatibility code for
> old DTBs, even for platform where we're not interested in maintaining
> that. In addition, Part C depends on the header file for the reset driver
> to compile the clock driver, even if you would add some DT detection,
> and on the reset driver to link. So I'm afraid this is not feasible.
>
TL;DR: Sounds fine, I'll be on the lookout for the PR.
Longer version: Let me step back a bit and actually think about
this longer than 2 minutes. From what I see
rcar_rst_read_mode_pins() already returns -ENODEV if the nodes
aren't present. Great.
So clk tree could be given a pull for the clk patches, part C, on
top of part A, the reset driver. If the rcar_rst_read_mode_pins()
returns failure because the node is missing, we fall back to the
old style of doing things. Some drivers already do that anyway,
so this looks to be replacing things like
if (rcar_rst_read_mode_pins())
return;
with
if (rcar_rst_read_mode_pins() != -ENODEV)
return;
Then in arm-soc tree, the dts patches are merged. That causes us
to do some duplicate work reading the pins twice in mach-shmobile
and in the new reset driver. That's duplicate/wasteful, but it
works. Finally, everything is merged together into a tagged
release. The mach-shmobile changes can happen anytime after that
(part D). Again we're left with dead code in the clk driver (part
E) until the dependency merges, but that's ok. Once part D merges
we can get rid of the dead code in part E and any backwards
compatibility we don't want to maintain.
In summary, it's all feasible to do this and most people wouldn't
have had to know about the dependency chain but it's not fast by
any means. Instead we merge everything in one shot and get it
over with now.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2016-11-04 19:49 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-21 13:17 [PATCH v4 00/23] soc: renesas: Add R-Car RST driver for obtaining mode pin state Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 01/23] reset: Add renesas,rst DT bindings Geert Uytterhoeven
[not found] ` <1477055857-17936-2-git-send-email-geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
2016-10-21 15:48 ` Philipp Zabel
2016-10-30 20:41 ` Rob Herring
2016-10-21 13:17 ` [PATCH v4 02/23] soc: renesas: Add R-Car RST driver Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 03/23] ARM: dts: r8a7778: Add device node for RESET/WDT module Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 04/23] ARM: dts: r8a7779: " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 06/23] ARM: dts: r8a7791: Add device node for RST module Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 07/23] ARM: dts: r8a7792: " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 08/23] ARM: dts: r8a7793: " Geert Uytterhoeven
[not found] ` <1477055857-17936-1-git-send-email-geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ@public.gmane.org>
2016-10-21 13:17 ` [PATCH v4 05/23] ARM: dts: r8a7790: " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 09/23] ARM: dts: r8a7794: " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 13/23] clk: renesas: r8a7779: Obtain mode pin values from R-Car RST driver Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 14/23] clk: renesas: rcar-gen2: Obtain mode pin values using " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 20/23] ARM: shmobile: rcar-gen2: Stop passing mode pins state to clock driver Geert Uytterhoeven
2016-11-01 13:35 ` Sergei Shtylyov
2016-11-02 8:09 ` Geert Uytterhoeven
2016-10-21 15:45 ` [PATCH v4 00/23] soc: renesas: Add R-Car RST driver for obtaining mode pin state Philipp Zabel
[not found] ` <1477064730.2508.24.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-10-21 15:47 ` Philipp Zabel
2016-10-26 11:56 ` Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 10/23] arm64: renesas: r8a7795 dtsi: Add device node for RST module Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 11/23] arm64: renesas: r8a7796 " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 12/23] clk: renesas: r8a7778: Obtain mode pin values using R-Car RST driver Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 15/23] clk: renesas: r8a7795: Obtain mode pin values from " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 16/23] clk: renesas: r8a7796: " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 17/23] clk: renesas: rcar-gen3-cpg: Remove obsolete rcar_gen3_read_mode_pins() Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 18/23] ARM: shmobile: r8a7778: Stop passing mode pins state to clock driver Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 19/23] ARM: shmobile: r8a7779: " Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 21/23] clk: renesas: r8a7778: Remove obsolete r8a7778_clocks_init() Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 22/23] clk: renesas: r8a7779: Remove obsolete r8a7779_clocks_init() Geert Uytterhoeven
2016-10-21 13:17 ` [PATCH v4 23/23] clk: renesas: rcar-gen2: Remove obsolete rcar_gen2_clocks_init() Geert Uytterhoeven
2016-10-26 12:00 ` [PATCH v4 00/23] soc: renesas: Add R-Car RST driver for obtaining mode pin state Geert Uytterhoeven
[not found] ` <CAMuHMdVbpuv94x-ocTSDoEj+SbnESDbkuMXsXExQvoyZepp+Zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-10-31 8:19 ` Simon Horman
[not found] ` <20161031081923.GF18195-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2016-10-31 8:32 ` Geert Uytterhoeven
[not found] ` <CAMuHMdXA-hemOT=ZysEfettei9=HsDddGhqddkw38hwRrdeagw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-10-31 23:25 ` Stephen Boyd
[not found] ` <20161031232537.GT16026-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-11-02 9:02 ` Geert Uytterhoeven
2016-11-04 19:49 ` Stephen Boyd [this message]
2016-11-07 9:30 ` Geert Uytterhoeven
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=20161104194914.GB16026@codeaurora.org \
--to=sboyd@codeaurora.org \
--cc=arnd@arndb.de \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=horms@verge.net.au \
--cc=khilman@baylibre.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mturquette@baylibre.com \
--cc=olof@lixom.net \
--cc=p.zabel@pengutronix.de \
/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;
as well as URLs for NNTP newsgroup(s).