From: moinejf@free.fr (Jean-Francois Moine)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/6] ARM: sunxi: Introduce Allwinner H3 support
Date: Thu, 22 Oct 2015 09:58:56 +0200 [thread overview]
Message-ID: <20151022095857.50e2330b@OPI2> (raw)
In-Reply-To: <5627E515.6050505@redhat.com>
On Wed, 21 Oct 2015 21:18:45 +0200
Hans de Goede <hdegoede@redhat.com> wrote:
> Great to see that you've started working on this again. Last weekend I
> ended up working on this too together with Reinder E.N. de Haan <reinder@mveas.com>
> (added to the Cc).
>
> We took a slightly different approach for the gates clocks, see:
>
> https://github.com/jwrdegoede/linux-sunxi/commits/sunxi-wip
>
> And specifically:
>
> https://github.com/jwrdegoede/linux-sunxi/commit/80a1afe319d5d1a0c426d42e75d37f0c64e8ea0b
>
> Combined with:
>
> https://github.com/jwrdegoede/linux-sunxi/commit/d508da5feb5048f6674d6b24b58ac9058fb9d877
>
> This deals with the per gate parents the same way the rockchip
> clock code does, and it seems to be quite a bit less code then your solution.
Here is a simpler patch:
diff --git a/drivers/clk/sunxi/clk-simple-gates.c b/drivers/clk/sunxi/clk-simple-gates.c
index 6ce9118..8fecaeab 100644
--- a/drivers/clk/sunxi/clk-simple-gates.c
+++ b/drivers/clk/sunxi/clk-simple-gates.c
@@ -35,6 +35,7 @@ static void __init sunxi_simple_gates_setup(struct device_node *node,
void __iomem *reg;
const __be32 *p;
int number, i = 0, j;
+ bool parent_per_gate;
u8 clk_bit;
u32 index;
@@ -43,6 +44,7 @@ static void __init sunxi_simple_gates_setup(struct device_node *node,
return;
clk_parent = of_clk_get_parent_name(node, 0);
+ parent_per_gate = of_clk_get_parent_count(node) != 1;
clk_data = kmalloc(sizeof(struct clk_onecell_data), GFP_KERNEL);
if (!clk_data)
@@ -58,6 +60,8 @@ static void __init sunxi_simple_gates_setup(struct device_node *node,
of_property_for_each_u32(node, "clock-indices", prop, p, index) {
of_property_read_string_index(node, "clock-output-names",
i, &clk_name);
+ if (parent_per_gate)
+ clk_parent = of_clk_get_parent_name(node, i);
clk_reg = reg + 4 * (index / 32);
clk_bit = index % 32;
--
Ken ar c'henta? | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
WARNING: multiple messages have this Message-ID (diff)
From: Jean-Francois Moine <moinejf@free.fr>
To: Hans de Goede <hdegoede@redhat.com>
Cc: "Jens Kuske" <jenskuske@gmail.com>,
"Maxime Ripard" <maxime.ripard@free-electrons.com>,
"Chen-Yu Tsai" <wens@csie.org>,
"Mike Turquette" <mturquette@linaro.org>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Emilio López" <emilio@elopez.com.ar>,
devicetree@vger.kernel.org,
"Vishnu Patekar" <vishnupatekar0510@gmail.com>,
"Reinder E.N. de Haan" <reinder@mveas.com>,
linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com,
linux-arm-kernel@lists.infradead.org, zhao_steven@263.net
Subject: Re: [PATCH 0/6] ARM: sunxi: Introduce Allwinner H3 support
Date: Thu, 22 Oct 2015 09:58:56 +0200 [thread overview]
Message-ID: <20151022095857.50e2330b@OPI2> (raw)
In-Reply-To: <5627E515.6050505@redhat.com>
On Wed, 21 Oct 2015 21:18:45 +0200
Hans de Goede <hdegoede@redhat.com> wrote:
> Great to see that you've started working on this again. Last weekend I
> ended up working on this too together with Reinder E.N. de Haan <reinder@mveas.com>
> (added to the Cc).
>
> We took a slightly different approach for the gates clocks, see:
>
> https://github.com/jwrdegoede/linux-sunxi/commits/sunxi-wip
>
> And specifically:
>
> https://github.com/jwrdegoede/linux-sunxi/commit/80a1afe319d5d1a0c426d42e75d37f0c64e8ea0b
>
> Combined with:
>
> https://github.com/jwrdegoede/linux-sunxi/commit/d508da5feb5048f6674d6b24b58ac9058fb9d877
>
> This deals with the per gate parents the same way the rockchip
> clock code does, and it seems to be quite a bit less code then your solution.
Here is a simpler patch:
diff --git a/drivers/clk/sunxi/clk-simple-gates.c b/drivers/clk/sunxi/clk-simple-gates.c
index 6ce9118..8fecaeab 100644
--- a/drivers/clk/sunxi/clk-simple-gates.c
+++ b/drivers/clk/sunxi/clk-simple-gates.c
@@ -35,6 +35,7 @@ static void __init sunxi_simple_gates_setup(struct device_node *node,
void __iomem *reg;
const __be32 *p;
int number, i = 0, j;
+ bool parent_per_gate;
u8 clk_bit;
u32 index;
@@ -43,6 +44,7 @@ static void __init sunxi_simple_gates_setup(struct device_node *node,
return;
clk_parent = of_clk_get_parent_name(node, 0);
+ parent_per_gate = of_clk_get_parent_count(node) != 1;
clk_data = kmalloc(sizeof(struct clk_onecell_data), GFP_KERNEL);
if (!clk_data)
@@ -58,6 +60,8 @@ static void __init sunxi_simple_gates_setup(struct device_node *node,
of_property_for_each_u32(node, "clock-indices", prop, p, index) {
of_property_read_string_index(node, "clock-output-names",
i, &clk_name);
+ if (parent_per_gate)
+ clk_parent = of_clk_get_parent_name(node, i);
clk_reg = reg + 4 * (index / 32);
clk_bit = index % 32;
--
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/
next prev parent reply other threads:[~2015-10-22 7:58 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-21 16:13 [PATCH 0/6] ARM: sunxi: Introduce Allwinner H3 support Jens Kuske
2015-10-21 16:13 ` Jens Kuske
2015-10-21 16:13 ` Jens Kuske
2015-10-21 16:13 ` [PATCH 1/6] clk: sunxi: Let divs clocks read the base factor clock name from devicetree Jens Kuske
2015-10-21 16:13 ` Jens Kuske
2015-10-21 16:13 ` Jens Kuske
2015-10-21 16:13 ` [PATCH 2/6] clk: sunxi: Add H3 clocks support Jens Kuske
2015-10-21 16:13 ` Jens Kuske
2015-10-21 16:13 ` Jens Kuske
2015-10-22 0:15 ` [linux-sunxi] " Julian Calaby
2015-10-22 0:15 ` Julian Calaby
2015-10-22 0:15 ` Julian Calaby
2015-10-22 7:32 ` [linux-sunxi] " Jens Kuske
2015-10-22 7:32 ` Jens Kuske
2015-10-22 7:32 ` Jens Kuske
2015-10-21 19:18 ` [PATCH 0/6] ARM: sunxi: Introduce Allwinner H3 support Hans de Goede
2015-10-21 19:18 ` Hans de Goede
2015-10-21 19:18 ` Hans de Goede
2015-10-22 7:49 ` Jens Kuske
2015-10-22 7:49 ` Jens Kuske
2015-10-22 7:49 ` Jens Kuske
2015-10-22 8:49 ` [linux-sunxi] " Hans de Goede
2015-10-22 8:49 ` Hans de Goede
2015-10-22 8:49 ` Hans de Goede
2015-10-27 19:24 ` [linux-sunxi] " Peter Korsgaard
2015-10-27 19:24 ` Peter Korsgaard
2015-10-27 19:24 ` Peter Korsgaard
[not found] ` <87d1w09kt5.fsf-D6SC8u56vOOJDPpyT6T3/w@public.gmane.org>
2015-10-27 21:34 ` Mihail Tommonen
2015-10-28 2:25 ` SY8106 datasheet zhao_steven
2015-10-22 7:58 ` Jean-Francois Moine [this message]
2015-10-22 7:58 ` [PATCH 0/6] ARM: sunxi: Introduce Allwinner H3 support Jean-Francois Moine
2015-10-22 9:08 ` Hans de Goede
2015-10-22 9:08 ` Hans de Goede
2015-10-22 9:08 ` Hans de Goede
2015-10-21 19:23 ` Hans de Goede
2015-10-21 19:23 ` Hans de Goede
2015-10-21 19:23 ` Hans de Goede
-- strict thread matches above, loose matches on Subject: below --
2015-05-06 9:31 Jens Kuske
2015-05-06 9:31 ` Jens Kuske
2015-05-06 9:31 ` Jens Kuske
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=20151022095857.50e2330b@OPI2 \
--to=moinejf@free.fr \
--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.