From: Tony Lindgren <tony@atomide.com>
To: Tero Kristo <t-kristo@ti.com>
Cc: linux-omap@vger.kernel.org, paul@pwsan.com, nm@ti.com,
rnayak@ti.com, bcousson@baylibre.com, mturquette@linaro.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org
Subject: Re: [PATCHv10 31/41] ARM: OMAP2+: clock: add support for regmap
Date: Tue, 26 Nov 2013 09:40:45 -0800 [thread overview]
Message-ID: <20131126174045.GE26766@atomide.com> (raw)
In-Reply-To: <1385453182-24421-32-git-send-email-t-kristo@ti.com>
* Tero Kristo <t-kristo@ti.com> [131126 00:10]:
> Using regmap is required for isolating the actual memory access from
> the clock code. Now, the driver providing the support for the clock IP
> block can provide a regmap for this purpose.
>
> Signed-off-by: Tero Kristo <t-kristo@ti.com>
> ---
> arch/arm/mach-omap2/clock.c | 27 ++++++++++++++++++++++++++-
> arch/arm/mach-omap2/clock.h | 3 +++
> 2 files changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
> index 238be3f..1ef6df8 100644
> --- a/arch/arm/mach-omap2/clock.c
> +++ b/arch/arm/mach-omap2/clock.c
> @@ -25,7 +25,7 @@
> #include <linux/bitops.h>
> #include <linux/clk-private.h>
> #include <asm/cpu.h>
> -
> +#include <linux/regmap.h>
>
> #include <trace/events/power.h>
>
> @@ -56,6 +56,31 @@ u16 cpu_mask;
> static bool clkdm_control = true;
>
> static LIST_HEAD(clk_hw_omap_clocks);
> +struct regmap *clk_regmaps[CLK_MAX_REGMAPS];
> +
> +void omap2_clk_writel(u32 val, struct clk_hw_omap *clk, void __iomem *reg)
> +{
> + if (clk->flags & REGMAP_ADDRESSING) {
> + struct clk_omap_reg *r = (struct clk_omap_reg *)®
> + regmap_write(clk_regmaps[r->index], r->offset, val);
> + } else {
> + __raw_writel(val, reg);
> + }
> +}
> +
> +u32 omap2_clk_readl(struct clk_hw_omap *clk, void __iomem *reg)
> +{
> + u32 val;
> +
> + if (clk->flags & REGMAP_ADDRESSING) {
> + struct clk_omap_reg *r = (struct clk_omap_reg *)®
> + regmap_read(clk_regmaps[r->index], r->offset, &val);
> + } else {
> + val = __raw_readl(reg);
> + }
> +
> + return val;
> +}
>
> /*
> * Used for clocks that have the same value as the parent clock,
Maybe use read[lw]_relaxed and write[lw]_relaxed here and elsewhere
instead of __raw_read/write to help cut down the changes needed for
the big endian patch set?
Regards,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv10 31/41] ARM: OMAP2+: clock: add support for regmap
Date: Tue, 26 Nov 2013 09:40:45 -0800 [thread overview]
Message-ID: <20131126174045.GE26766@atomide.com> (raw)
In-Reply-To: <1385453182-24421-32-git-send-email-t-kristo@ti.com>
* Tero Kristo <t-kristo@ti.com> [131126 00:10]:
> Using regmap is required for isolating the actual memory access from
> the clock code. Now, the driver providing the support for the clock IP
> block can provide a regmap for this purpose.
>
> Signed-off-by: Tero Kristo <t-kristo@ti.com>
> ---
> arch/arm/mach-omap2/clock.c | 27 ++++++++++++++++++++++++++-
> arch/arm/mach-omap2/clock.h | 3 +++
> 2 files changed, 29 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
> index 238be3f..1ef6df8 100644
> --- a/arch/arm/mach-omap2/clock.c
> +++ b/arch/arm/mach-omap2/clock.c
> @@ -25,7 +25,7 @@
> #include <linux/bitops.h>
> #include <linux/clk-private.h>
> #include <asm/cpu.h>
> -
> +#include <linux/regmap.h>
>
> #include <trace/events/power.h>
>
> @@ -56,6 +56,31 @@ u16 cpu_mask;
> static bool clkdm_control = true;
>
> static LIST_HEAD(clk_hw_omap_clocks);
> +struct regmap *clk_regmaps[CLK_MAX_REGMAPS];
> +
> +void omap2_clk_writel(u32 val, struct clk_hw_omap *clk, void __iomem *reg)
> +{
> + if (clk->flags & REGMAP_ADDRESSING) {
> + struct clk_omap_reg *r = (struct clk_omap_reg *)®
> + regmap_write(clk_regmaps[r->index], r->offset, val);
> + } else {
> + __raw_writel(val, reg);
> + }
> +}
> +
> +u32 omap2_clk_readl(struct clk_hw_omap *clk, void __iomem *reg)
> +{
> + u32 val;
> +
> + if (clk->flags & REGMAP_ADDRESSING) {
> + struct clk_omap_reg *r = (struct clk_omap_reg *)®
> + regmap_read(clk_regmaps[r->index], r->offset, &val);
> + } else {
> + val = __raw_readl(reg);
> + }
> +
> + return val;
> +}
>
> /*
> * Used for clocks that have the same value as the parent clock,
Maybe use read[lw]_relaxed and write[lw]_relaxed here and elsewhere
instead of __raw_read/write to help cut down the changes needed for
the big endian patch set?
Regards,
Tony
next prev parent reply other threads:[~2013-11-26 17:40 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-26 8:05 [PATCHv10 00/41] ARM: TI SoC clock DT conversion Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 01/41] clk: add support for platform specific clock I/O wrapper functions Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-12-15 0:48 ` Mike Turquette
2013-12-15 0:48 ` Mike Turquette
2013-12-16 8:06 ` Tero Kristo
2013-12-16 8:06 ` Tero Kristo
2013-12-17 12:34 ` Paul Walmsley
2013-12-17 12:34 ` Paul Walmsley
2013-12-18 3:33 ` Paul Walmsley
2013-12-18 3:33 ` Paul Walmsley
2013-11-26 8:05 ` [PATCHv10 02/41] CLK: TI: add DT alias clock registration mechanism Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 03/41] CLK: ti: add init support for clock IP blocks Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-12-17 8:14 ` Paul Walmsley
2013-12-17 8:14 ` Paul Walmsley
2013-12-17 8:21 ` Tero Kristo
2013-12-17 8:21 ` Tero Kristo
2013-12-17 8:32 ` Paul Walmsley
2013-12-17 8:32 ` Paul Walmsley
2013-11-26 8:05 ` [PATCHv10 04/41] CLK: TI: Add DPLL clock support Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-12-17 8:37 ` Paul Walmsley
2013-12-17 8:37 ` Paul Walmsley
2013-12-17 8:40 ` Paul Walmsley
2013-12-17 8:40 ` Paul Walmsley
2013-11-26 8:05 ` [PATCHv10 05/41] CLK: TI: add autoidle support Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 06/41] clk: ti: add composite clock support Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 07/41] CLK: ti: add support for ti divider-clock Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 08/41] clk: ti: add support for TI fixed factor clock Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 09/41] CLK: TI: add support for gate clock Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 11/41] clk: ti: add support for basic mux clock Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 12/41] CLK: TI: add omap4 clock init file Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-12-17 9:30 ` Paul Walmsley
2013-12-17 9:30 ` Paul Walmsley
[not found] ` <1385453182-24421-1-git-send-email-t-kristo-l0cyMroinI0@public.gmane.org>
2013-11-26 8:05 ` [PATCHv10 10/41] CLK: TI: add support for clockdomain binding Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-12-15 4:23 ` Mike Turquette
2013-12-15 4:23 ` Mike Turquette
2013-12-16 8:13 ` Tero Kristo
2013-12-16 8:13 ` Tero Kristo
2013-12-18 3:07 ` Mike Turquette
2013-12-18 3:07 ` Mike Turquette
2013-11-26 8:05 ` [PATCHv10 13/41] CLK: TI: add omap5 clock init file Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 18/41] CLK: TI: add interface clock support for OMAP3 Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 22/41] ARM: dts: omap5 clock data Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-12-16 10:51 ` Paul Walmsley
2013-12-16 10:51 ` Paul Walmsley
2013-12-16 10:57 ` Tero Kristo
2013-12-16 10:57 ` Tero Kristo
2013-12-17 9:46 ` Paul Walmsley
2013-12-17 9:46 ` Paul Walmsley
2013-11-26 8:06 ` [PATCHv10 25/41] ARM: dts: DRA7: Change apll_pcie_m2_ck to fixed factor clock Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 36/41] ARM: OMAP2+: io: use new clock init API Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-28 0:49 ` [PATCHv10 00/41] ARM: TI SoC clock DT conversion Nishanth Menon
2013-11-28 0:49 ` Nishanth Menon
[not found] ` <52969313.6090207-l0cyMroinI0@public.gmane.org>
2013-11-28 18:58 ` Paul Walmsley
2013-11-28 18:58 ` Paul Walmsley
2013-11-29 17:12 ` Tony Lindgren
2013-11-29 17:12 ` Tony Lindgren
2013-11-29 18:59 ` Tero Kristo
2013-11-29 18:59 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 14/41] CLK: TI: omap5: Initialize USB_DPLL at boot Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 15/41] CLK: TI: DRA7: Add APLL support Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:51 ` Alexander Aring
2013-11-26 8:51 ` Alexander Aring
2013-11-29 19:00 ` Tero Kristo
2013-11-29 19:00 ` Tero Kristo
2013-11-29 20:52 ` Alexander Aring
2013-11-29 20:52 ` Alexander Aring
2013-11-26 8:05 ` [PATCHv10 16/41] CLK: TI: add dra7 clock init file Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:05 ` [PATCHv10 17/41] CLK: TI: add am33xx " Tero Kristo
2013-11-26 8:05 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 19/41] CLK: TI: add omap3 " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 20/41] CLK: TI: add am43xx " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 21/41] ARM: dts: omap4 clock data Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-12-17 9:44 ` Paul Walmsley
2013-12-17 9:44 ` Paul Walmsley
2013-12-17 9:57 ` Tero Kristo
2013-12-17 9:57 ` Tero Kristo
2013-12-20 11:15 ` Paul Walmsley
2013-12-20 11:15 ` Paul Walmsley
2013-11-26 8:06 ` [PATCHv10 23/41] ARM: dts: dra7 " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-12-17 9:46 ` Paul Walmsley
2013-12-17 9:46 ` Paul Walmsley
2013-11-26 8:06 ` [PATCHv10 24/41] ARM: dts: clk: Add apll related clocks Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 26/41] ARM: dts: DRA7: Add PCIe related clock nodes Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 27/41] ARM: dts: am33xx clock data Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-12-17 9:48 ` Paul Walmsley
2013-12-17 9:48 ` Paul Walmsley
2013-11-26 8:06 ` [PATCHv10 28/41] ARM: dts: omap3 " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-12-17 9:50 ` Paul Walmsley
2013-12-17 9:50 ` Paul Walmsley
2013-11-26 8:06 ` [PATCHv10 29/41] ARM: dts: AM35xx: use DT " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 30/41] ARM: dts: am43xx " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-12-17 9:52 ` Paul Walmsley
2013-12-17 9:52 ` Paul Walmsley
2013-11-26 8:06 ` [PATCHv10 31/41] ARM: OMAP2+: clock: add support for regmap Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 17:40 ` Tony Lindgren [this message]
2013-11-26 17:40 ` Tony Lindgren
2013-11-27 9:08 ` Tero Kristo
2013-11-27 9:08 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 32/41] ARM: OMAP2+: clock: use driver API instead of direct memory read/write Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 33/41] ARM: OMAP: hwmod: fix an incorrect clk type cast with _get_clkdm Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 34/41] ARM: OMAP3: hwmod: initialize clkdm from clkdm_name Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 35/41] ARM: OMAP2+: PRM: add support for initializing PRCM clock modules from DT Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 37/41] ARM: OMAP4: remove old clock data and link in new clock init code Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 38/41] ARM: OMAP: DRA7: Enable clock init Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 39/41] ARM: AM43xx: " Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 40/41] ARM: AM33xx: remove old clock data and link in new clock init code Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 8:06 ` [PATCHv10 41/41] ARM: OMAP3: use DT clock init if DT data is available Tero Kristo
2013-11-26 8:06 ` Tero Kristo
2013-11-26 17:44 ` Tony Lindgren
2013-11-26 17:44 ` Tony Lindgren
2013-11-27 9:06 ` Tero Kristo
2013-11-27 9:06 ` Tero Kristo
2013-11-26 17:57 ` [PATCHv10 00/41] ARM: TI SoC clock DT conversion Tony Lindgren
2013-11-26 17:57 ` Tony Lindgren
2013-12-15 0:51 ` Mike Turquette
2013-12-15 0:51 ` Mike Turquette
2013-12-15 4:35 ` Mike Turquette
2013-12-15 4:35 ` Mike Turquette
2013-12-16 8:12 ` Tero Kristo
2013-12-16 8:12 ` Tero Kristo
2013-12-20 16:10 ` Felipe Balbi
2013-12-20 16:10 ` Felipe Balbi
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=20131126174045.GE26766@atomide.com \
--to=tony@atomide.com \
--cc=bcousson@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=nm@ti.com \
--cc=paul@pwsan.com \
--cc=rnayak@ti.com \
--cc=t-kristo@ti.com \
/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.