From: Sekhar Nori <nsekhar@ti.com>
To: David Lechner <david@lechnology.com>, <linux-clk@vger.kernel.org>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Kevin Hilman <khilman@kernel.org>, Adam Ford <aford173@gmail.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v5 19/44] clk: davinci: New driver for TI DA8XX CFGCHIP clocks
Date: Wed, 17 Jan 2018 21:01:53 +0530 [thread overview]
Message-ID: <c3c0f9cf-b93e-6d1e-1e44-7dcef1ea11cf@ti.com> (raw)
In-Reply-To: <1515377863-20358-20-git-send-email-david@lechnology.com>
On Monday 08 January 2018 07:47 AM, David Lechner wrote:
> This adds a new driver for the gate and multiplexer clocks in the
> CFGCHIPn syscon registers on TI DA8XX-type SoCs.
>
> Signed-off-by: David Lechner <david@lechnology.com>
> ---
> drivers/clk/davinci/Makefile | 2 +
> drivers/clk/davinci/da8xx-cfgchip.c | 203 ++++++++++++++++++++++++++++++++++++
> 2 files changed, 205 insertions(+)
> create mode 100644 drivers/clk/davinci/da8xx-cfgchip.c
>
> diff --git a/drivers/clk/davinci/Makefile b/drivers/clk/davinci/Makefile
> index 6c388d4..11178b7 100644
> --- a/drivers/clk/davinci/Makefile
> +++ b/drivers/clk/davinci/Makefile
> @@ -1,6 +1,8 @@
> # SPDX-License-Identifier: GPL-2.0
>
> ifeq ($(CONFIG_COMMON_CLK), y)
> +obj-$(CONFIG_ARCH_DAVINCI_DA8XX) += da8xx-cfgchip.o
> +
> obj-y += pll.o
> obj-$(CONFIG_ARCH_DAVINCI_DA830) += pll-da830.o
> obj-$(CONFIG_ARCH_DAVINCI_DA850) += pll-da850.o
> diff --git a/drivers/clk/davinci/da8xx-cfgchip.c b/drivers/clk/davinci/da8xx-cfgchip.c
> new file mode 100644
> index 0000000..772e09a
> --- /dev/null
> +++ b/drivers/clk/davinci/da8xx-cfgchip.c
> @@ -0,0 +1,203 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Clock driver for DA8xx/AM17xx/AM18xx/OMAP-L13x CFGCHIP
> + *
> + * Copyright (C) 2017 David Lechner <david@lechnology.com>
2018
> + */
> +
> +#include <linux/clk-provider.h>
> +#include <linux/mfd/da8xx-cfgchip.h>
> +#include <linux/mfd/syscon.h>
> +#include <linux/of.h>
> +#include <linux/regmap.h>
> +#include <linux/slab.h>
> +
> +#ifdef CONFIG_OF
Is this ifdef really needed, or included to save space for non-OF
builds? I think it can be removed if not really needed.
> +static void da8xx_cfgchip_gate_clk_init(struct device_node *np, u32 reg,
> + u32 mask)
> +{
> + struct da8xx_cfgchip_gate_clk *clk;
> + struct clk_init_data init;
> + const char *name = np->name;
> + const char *parent_name;
> + struct regmap *regmap;
> + int ret;
> +
> + of_property_read_string(np, "clock-output-names", &name);
> + parent_name = of_clk_get_parent_name(np, 0);
> +
> + regmap = syscon_node_to_regmap(of_get_parent(np));
> + if (IS_ERR(regmap)) {
> + pr_err("%s: no regmap for syscon parent of %s (%ld)\n",
> + __func__, np->full_name, PTR_ERR(regmap));
please use pr_fmt for this driver too.
> +static void da8xx_cfgchip_mux_clk_init(struct device_node *np, u32 reg,
> + u32 mask)
> +{
> + struct da8xx_cfgchip_mux_clk *clk;
> + struct clk_init_data init;
> + const char *name = np->name;
> + const char *parent_names[2];
> + struct regmap *regmap;
> + int ret;
> +
> + ret = of_property_match_string(np, "clock-names", "pll0_sysclk2");
> + parent_names[0] = of_clk_get_parent_name(np, ret);
> + if (!parent_names[0]) {
> + pr_err("%s: missing pll0_sysclk2 clock\n", __func__);
> + return;
> + }
> +
> + ret = of_property_match_string(np, "clock-names", "pll1_sysclk2");
> + parent_names[1] = of_clk_get_parent_name(np, ret);
> + if (!parent_names[1]) {
> + pr_err("%s: missing pll1_sysclk2 clock\n", __func__);
> + return;
> + }
The fact that you are looking specifically for pll0_sysclk2 and
pll1_sysclk2 makes it really specific to async3 and the same function
cannot be used for something like EMIFA clock source. Can this part of
the function be factored out so rest of the function can still be reused
for another clock?
Thanks,
Sekhar
next prev parent reply other threads:[~2018-01-17 15:33 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-08 2:16 [PATCH v5 00/44] ARM: davinci: convert to common clock framework David Lechner
2018-01-08 2:17 ` [PATCH v5 01/44] dt-bindings: clock: Add new bindings for TI Davinci PLL clocks David Lechner
2018-01-08 14:00 ` Sekhar Nori
2018-01-08 16:29 ` David Lechner
2018-01-09 12:35 ` Sekhar Nori
2018-01-10 3:01 ` David Lechner
2018-01-10 18:52 ` Sekhar Nori
2018-01-10 22:24 ` Adam Ford
2018-01-11 2:50 ` David Lechner
2018-01-11 12:45 ` Adam Ford
2018-01-11 15:47 ` Sekhar Nori
2018-01-11 16:14 ` Adam Ford
2018-01-11 17:22 ` David Lechner
2018-01-11 18:09 ` Adam Ford
2018-01-11 18:29 ` David Lechner
2018-01-11 18:50 ` Adam Ford
2018-01-11 20:04 ` David Lechner
2018-01-11 20:58 ` Adam Ford
2018-01-11 21:04 ` David Lechner
2018-01-11 21:34 ` Adam Ford
2018-01-11 21:46 ` David Lechner
2018-01-12 6:03 ` Sekhar Nori
2018-01-16 11:22 ` Sekhar Nori
2018-01-16 12:21 ` Adam Ford
2018-01-16 16:41 ` David Lechner
2018-01-11 23:20 ` David Lechner
2018-01-11 2:54 ` David Lechner
2018-01-08 2:17 ` [PATCH v5 02/44] clk: davinci: New driver for davinci " David Lechner
2018-01-12 9:21 ` Sekhar Nori
2018-01-12 15:25 ` David Lechner
2018-01-12 15:30 ` Adam Ford
2018-01-12 15:48 ` David Lechner
2018-01-12 16:18 ` Sekhar Nori
2018-01-13 1:11 ` David Lechner
2018-01-16 6:48 ` Sekhar Nori
2018-01-13 2:13 ` David Lechner
2018-01-16 6:32 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 03/44] clk: davinci: Add platform information for TI DA830 PLL David Lechner
2018-01-12 9:41 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 04/44] clk: davinci: Add platform information for TI DA850 PLL David Lechner
2018-01-16 8:37 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 05/44] clk: davinci: Add platform information for TI DM355 PLL David Lechner
2018-01-16 8:38 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 06/44] clk: davinci: Add platform information for TI DM365 PLL David Lechner
2018-01-16 8:48 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 07/44] clk: davinci: Add platform information for TI DM644x PLL David Lechner
2018-01-16 8:56 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 08/44] clk: davinci: Add platform information for TI DM646x PLL David Lechner
2018-01-16 9:01 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 09/44] dt-bindings: clock: New bindings for TI Davinci PSC David Lechner
2018-01-11 21:22 ` Rob Herring
2018-01-08 2:17 ` [PATCH v5 10/44] clk: davinci: New driver for davinci PSC clocks David Lechner
2018-01-16 11:03 ` Sekhar Nori
2018-01-16 16:51 ` David Lechner
2018-01-17 12:25 ` Sekhar Nori
2018-01-17 17:28 ` David Lechner
2018-01-08 2:17 ` [PATCH v5 11/44] clk: davinci: Add platform information for TI DA830 PSC David Lechner
2018-01-16 13:38 ` Sekhar Nori
2018-01-16 17:16 ` David Lechner
2018-01-17 12:18 ` Sekhar Nori
2018-01-17 17:32 ` David Lechner
2018-01-18 7:53 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 12/44] clk: davinci: Add platform information for TI DA850 PSC David Lechner
2018-01-16 14:00 ` Sekhar Nori
2018-01-16 17:21 ` David Lechner
2018-01-17 11:57 ` Sekhar Nori
2018-01-17 17:33 ` David Lechner
2018-01-17 19:08 ` David Lechner
2018-01-18 6:37 ` Sekhar Nori
2018-02-09 16:22 ` Bartosz Golaszewski
2018-02-09 16:48 ` Michael Turquette
2018-02-12 3:03 ` David Lechner
2018-04-05 13:09 ` Sekhar Nori
2018-04-05 13:44 ` Bartosz Golaszewski
2018-04-05 14:36 ` Sekhar Nori
2018-04-05 15:37 ` David Lechner
2018-04-05 15:51 ` Bartosz Golaszewski
2018-04-06 9:37 ` Sekhar Nori
2018-04-06 16:46 ` Stephen Boyd
2018-04-23 14:59 ` David Lechner
2018-04-24 8:28 ` Sekhar Nori
2018-04-24 16:11 ` David Lechner
2018-04-25 6:07 ` Sekhar Nori
2018-04-25 10:09 ` Bartosz Golaszewski
2018-04-25 10:26 ` Bartosz Golaszewski
2018-01-08 2:17 ` [PATCH v5 13/44] clk: davinci: Add platform information for TI DM355 PSC David Lechner
2018-01-16 14:15 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 14/44] clk: davinci: Add platform information for TI DM365 PSC David Lechner
2018-01-16 14:16 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 15/44] clk: davinci: Add platform information for TI DM644x PSC David Lechner
2018-01-17 13:57 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 16/44] clk: davinci: Add platform information for TI DM646x PSC David Lechner
2018-01-17 14:59 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 17/44] dt-bindings: clock: Add bindings for DA8XX CFGCHIP gate clocks David Lechner
2018-01-11 21:45 ` Rob Herring
2018-01-11 21:51 ` David Lechner
2018-01-08 2:17 ` [PATCH v5 18/44] dt-bindings: clock: Add binding for TI DA8XX CFGCHIP mux clocks David Lechner
2018-01-08 2:17 ` [PATCH v5 19/44] clk: davinci: New driver for TI DA8XX CFGCHIP clocks David Lechner
2018-01-17 15:31 ` Sekhar Nori [this message]
2018-01-17 17:35 ` David Lechner
2018-01-08 2:17 ` [PATCH v5 20/44] dt-bindings: clock: Add bindings for TI DA8XX USB PHY clocks David Lechner
2018-01-18 12:10 ` Sekhar Nori
2018-01-18 19:00 ` David Lechner
2018-01-19 6:17 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 21/44] clk: davinci: New driver " David Lechner
2018-01-18 13:05 ` Sekhar Nori
2018-01-18 18:49 ` David Lechner
2018-01-19 5:04 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 22/44] ARM: davinci: move davinci_clk_init() to init_time David Lechner
2018-01-08 2:17 ` [PATCH v5 23/44] ARM: da830: add new clock init using common clock framework David Lechner
2018-01-08 2:17 ` [PATCH v5 24/44] ARM: da850: " David Lechner
2018-01-18 15:24 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 25/44] ARM: dm355: " David Lechner
2018-01-08 2:17 ` [PATCH v5 26/44] ARM: dm365: " David Lechner
2018-01-08 2:17 ` [PATCH v5 27/44] ARM: dm644x: " David Lechner
2018-01-08 2:17 ` [PATCH v5 28/44] ARM: dm646x: " David Lechner
2018-01-08 2:17 ` [PATCH v5 29/44] ARM: da8xx: add new USB PHY " David Lechner
2018-01-18 15:14 ` Sekhar Nori
2018-01-18 18:43 ` David Lechner
2018-01-19 5:08 ` Sekhar Nori
2018-01-08 2:17 ` [PATCH v5 35/44] ARM: da850: Remove legacy clock init David Lechner
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=c3c0f9cf-b93e-6d1e-1e44-7dcef1ea11cf@ti.com \
--to=nsekhar@ti.com \
--cc=aford173@gmail.com \
--cc=david@lechnology.com \
--cc=devicetree@vger.kernel.org \
--cc=khilman@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mturquette@baylibre.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.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
all inboxes | Powered by JetHome®