From: David Lechner <david@lechnology.com>
To: linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Cc: David Lechner <david@lechnology.com>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>, Sekhar Nori <nsekhar@ti.com>,
Kevin Hilman <khilman@kernel.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Adam Ford <aford173@gmail.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH v11 02/27] clk: davinci: da850-pll: change PLL0 to CLK_OF_DECLARE
Date: Fri, 18 May 2018 11:48:04 -0500 [thread overview]
Message-ID: <20180518164829.27052-3-david@lechnology.com> (raw)
In-Reply-To: <20180518164829.27052-1-david@lechnology.com>
PLL0 on davinci/da850-type device needs to be registered early in boot
because it is needed for clocksource/clockevent. Change the driver
to use CLK_OF_DECLARE for this special case.
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: David Lechner <david@lechnology.com>
---
v11 changes:
- none
v10 changes:
- removed duplicate warning message
v9 changes:
- new patch in v9
drivers/clk/davinci/pll-da850.c | 21 +++++++++++++++++----
drivers/clk/davinci/pll.c | 4 +++-
drivers/clk/davinci/pll.h | 2 +-
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/drivers/clk/davinci/pll-da850.c b/drivers/clk/davinci/pll-da850.c
index 59cc2e3733f9..0f7198191ea2 100644
--- a/drivers/clk/davinci/pll-da850.c
+++ b/drivers/clk/davinci/pll-da850.c
@@ -13,6 +13,8 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/mfd/da8xx-cfgchip.h>
+#include <linux/mfd/syscon.h>
+#include <linux/of_address.h>
#include <linux/of.h>
#include <linux/types.h>
@@ -136,11 +138,22 @@ static const struct davinci_pll_sysclk_info *da850_pll0_sysclk_info[] = {
NULL
};
-int of_da850_pll0_init(struct device *dev, void __iomem *base, struct regmap *cfgchip)
+void of_da850_pll0_init(struct device_node *node)
{
- return of_davinci_pll_init(dev, dev->of_node, &da850_pll0_info,
- &da850_pll0_obsclk_info,
- da850_pll0_sysclk_info, 7, base, cfgchip);
+ void __iomem *base;
+ struct regmap *cfgchip;
+
+ base = of_iomap(node, 0);
+ if (!base) {
+ pr_err("%s: ioremap failed\n", __func__);
+ return;
+ }
+
+ cfgchip = syscon_regmap_lookup_by_compatible("ti,da830-cfgchip");
+
+ of_davinci_pll_init(NULL, node, &da850_pll0_info,
+ &da850_pll0_obsclk_info,
+ da850_pll0_sysclk_info, 7, base, cfgchip);
}
static const struct davinci_pll_clk_info da850_pll1_info = {
diff --git a/drivers/clk/davinci/pll.c b/drivers/clk/davinci/pll.c
index ae5f966b503f..8dc9854d44dd 100644
--- a/drivers/clk/davinci/pll.c
+++ b/drivers/clk/davinci/pll.c
@@ -857,8 +857,10 @@ static struct davinci_pll_platform_data *davinci_pll_get_pdata(struct device *de
return pdata;
}
+/* needed in early boot for clocksource/clockevent */
+CLK_OF_DECLARE(da850_pll0, "ti,da850-pll0", of_da850_pll0_init);
+
static const struct of_device_id davinci_pll_of_match[] = {
- { .compatible = "ti,da850-pll0", .data = of_da850_pll0_init },
{ .compatible = "ti,da850-pll1", .data = of_da850_pll1_init },
{ }
};
diff --git a/drivers/clk/davinci/pll.h b/drivers/clk/davinci/pll.h
index 562652fc0759..b2e5c4496645 100644
--- a/drivers/clk/davinci/pll.h
+++ b/drivers/clk/davinci/pll.h
@@ -123,7 +123,7 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
/* Platform-specific callbacks */
int da850_pll1_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
-int of_da850_pll0_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
+void of_da850_pll0_init(struct device_node *node);
int of_da850_pll1_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
int dm355_pll2_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
--
2.17.0
WARNING: multiple messages have this Message-ID (diff)
From: david@lechnology.com (David Lechner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v11 02/27] clk: davinci: da850-pll: change PLL0 to CLK_OF_DECLARE
Date: Fri, 18 May 2018 11:48:04 -0500 [thread overview]
Message-ID: <20180518164829.27052-3-david@lechnology.com> (raw)
In-Reply-To: <20180518164829.27052-1-david@lechnology.com>
PLL0 on davinci/da850-type device needs to be registered early in boot
because it is needed for clocksource/clockevent. Change the driver
to use CLK_OF_DECLARE for this special case.
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: David Lechner <david@lechnology.com>
---
v11 changes:
- none
v10 changes:
- removed duplicate warning message
v9 changes:
- new patch in v9
drivers/clk/davinci/pll-da850.c | 21 +++++++++++++++++----
drivers/clk/davinci/pll.c | 4 +++-
drivers/clk/davinci/pll.h | 2 +-
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/drivers/clk/davinci/pll-da850.c b/drivers/clk/davinci/pll-da850.c
index 59cc2e3733f9..0f7198191ea2 100644
--- a/drivers/clk/davinci/pll-da850.c
+++ b/drivers/clk/davinci/pll-da850.c
@@ -13,6 +13,8 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/mfd/da8xx-cfgchip.h>
+#include <linux/mfd/syscon.h>
+#include <linux/of_address.h>
#include <linux/of.h>
#include <linux/types.h>
@@ -136,11 +138,22 @@ static const struct davinci_pll_sysclk_info *da850_pll0_sysclk_info[] = {
NULL
};
-int of_da850_pll0_init(struct device *dev, void __iomem *base, struct regmap *cfgchip)
+void of_da850_pll0_init(struct device_node *node)
{
- return of_davinci_pll_init(dev, dev->of_node, &da850_pll0_info,
- &da850_pll0_obsclk_info,
- da850_pll0_sysclk_info, 7, base, cfgchip);
+ void __iomem *base;
+ struct regmap *cfgchip;
+
+ base = of_iomap(node, 0);
+ if (!base) {
+ pr_err("%s: ioremap failed\n", __func__);
+ return;
+ }
+
+ cfgchip = syscon_regmap_lookup_by_compatible("ti,da830-cfgchip");
+
+ of_davinci_pll_init(NULL, node, &da850_pll0_info,
+ &da850_pll0_obsclk_info,
+ da850_pll0_sysclk_info, 7, base, cfgchip);
}
static const struct davinci_pll_clk_info da850_pll1_info = {
diff --git a/drivers/clk/davinci/pll.c b/drivers/clk/davinci/pll.c
index ae5f966b503f..8dc9854d44dd 100644
--- a/drivers/clk/davinci/pll.c
+++ b/drivers/clk/davinci/pll.c
@@ -857,8 +857,10 @@ static struct davinci_pll_platform_data *davinci_pll_get_pdata(struct device *de
return pdata;
}
+/* needed in early boot for clocksource/clockevent */
+CLK_OF_DECLARE(da850_pll0, "ti,da850-pll0", of_da850_pll0_init);
+
static const struct of_device_id davinci_pll_of_match[] = {
- { .compatible = "ti,da850-pll0", .data = of_da850_pll0_init },
{ .compatible = "ti,da850-pll1", .data = of_da850_pll1_init },
{ }
};
diff --git a/drivers/clk/davinci/pll.h b/drivers/clk/davinci/pll.h
index 562652fc0759..b2e5c4496645 100644
--- a/drivers/clk/davinci/pll.h
+++ b/drivers/clk/davinci/pll.h
@@ -123,7 +123,7 @@ int of_davinci_pll_init(struct device *dev, struct device_node *node,
/* Platform-specific callbacks */
int da850_pll1_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
-int of_da850_pll0_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
+void of_da850_pll0_init(struct device_node *node);
int of_da850_pll1_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
int dm355_pll2_init(struct device *dev, void __iomem *base, struct regmap *cfgchip);
--
2.17.0
next prev parent reply other threads:[~2018-05-18 16:48 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-18 16:48 [PATCH v11 00/27] ARM: davinci: convert to common clock framework David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 01/27] clk: davinci: pll: allow dev == NULL David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-22 8:43 ` Sekhar Nori
2018-05-22 8:43 ` Sekhar Nori
2018-05-22 8:43 ` Sekhar Nori
2018-05-18 16:48 ` David Lechner [this message]
2018-05-18 16:48 ` [PATCH v11 02/27] clk: davinci: da850-pll: change PLL0 to CLK_OF_DECLARE David Lechner
2018-05-18 16:48 ` [PATCH v11 03/27] clk: davinci: psc: allow for dev == NULL David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-22 9:05 ` Sekhar Nori
2018-05-22 9:05 ` Sekhar Nori
2018-05-22 9:05 ` Sekhar Nori
2018-05-18 16:48 ` [PATCH v11 04/27] ARM: davinci: pass clock as parameter to davinci_timer_init() David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 05/27] ARM: davinci: da830: add new clock init using common clock framework David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 06/27] ARM: davinci: da850: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 07/27] ARM: davinci: dm355: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 08/27] ARM: davinci: dm365: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 09/27] ARM: davinci: dm644x: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 10/27] ARM: davinci: dm646x: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 11/27] ARM: davinci: da8xx: add new USB PHY " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 12/27] ARM: davinci: da8xx: add new sata_refclk " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 13/27] ARM: davinci: remove CONFIG_DAVINCI_RESET_CLOCKS David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 14/27] ARM: davinci_all_defconfig: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 15/27] ARM: davinci: switch to common clock framework David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 16/27] ARM: davinci: da830: Remove legacy clock init David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 17/27] ARM: davinci: da850: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 18/27] ARM: davinci: dm355: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 19/27] ARM: davinci: dm365: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 20/27] ARM: davinci: dm644x: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 21/27] ARM: davinci: dm646x: " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 22/27] ARM: davinci: da8xx: Remove legacy USB and SATA " David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 23/27] ARM: davinci: remove legacy clocks David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 24/27] dt-bindings: timer: new bindings for TI DaVinci timer David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 25/27] ARM: davinci: add device tree support to timer David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 26/27] ARM: davinci: da8xx-dt: switch to device tree clocks David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-18 16:48 ` [PATCH v11 27/27] ARM: dts: da850: Add clocks David Lechner
2018-05-18 16:48 ` David Lechner
2018-05-22 9:38 ` [PATCH v11 00/27] ARM: davinci: convert to common clock framework Sekhar Nori
2018-05-22 9:38 ` Sekhar Nori
2018-05-22 9:38 ` Sekhar Nori
2018-05-25 18:21 ` David Lechner
2018-05-25 18:21 ` David Lechner
2018-06-26 12:56 ` Sekhar Nori
2018-06-26 12:56 ` Sekhar Nori
2018-06-26 12:56 ` Sekhar Nori
2018-06-26 15:34 ` David Lechner
2018-06-26 15:34 ` David Lechner
2018-06-17 15:48 ` David Lechner
2018-06-17 15:48 ` David Lechner
2018-06-18 4:47 ` Sekhar Nori
2018-06-18 4:47 ` Sekhar Nori
2018-06-18 4:47 ` Sekhar Nori
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=20180518164829.27052-3-david@lechnology.com \
--to=david@lechnology.com \
--cc=aford173@gmail.com \
--cc=bgolaszewski@baylibre.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=nsekhar@ti.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 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.