From: Tomasz Figa <t.figa@samsung.com>
To: linux-arm-kernel@lists.infradead.org
Cc: devicetree-discuss@lists.ozlabs.org,
linux-samsung-soc@vger.kernel.org, kgene.kim@samsung.com,
kyungmin.park@samsung.com, tomasz.figa@gmail.com,
m.szyprowski@samsung.com, arnd@arndb.de, john.stultz@linaro.org,
tglx@linutronix.de, olof@lixom.net, ben-linux@fluff.org,
thomas.abraham@linaro.org, Tomasz Figa <t.figa@samsung.com>
Subject: [PATCH v3 06/13] clocksource: samsung_pwm_timer: Add support for non-DT platforms
Date: Tue, 23 Apr 2013 17:46:27 +0200 [thread overview]
Message-ID: <1366731994-7478-7-git-send-email-t.figa@samsung.com> (raw)
In-Reply-To: <1366731994-7478-1-git-send-email-t.figa@samsung.com>
This patch extends the driver to support platforms that still use legacy
ATAGS-based boot, without device tree, by providing an exported function
that can be used from platform code to initialize the clocksource.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
drivers/clocksource/Kconfig | 1 -
drivers/clocksource/samsung_pwm_timer.c | 16 ++++++++++++++--
include/clocksource/samsung_pwm.h | 3 +++
3 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 4700305..f151c6c 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -79,7 +79,6 @@ config CLKSRC_EXYNOS_MCT
config CLKSRC_SAMSUNG_PWM
bool
- depends on OF
select CLKSRC_MMIO
help
This is a new clocksource driver for the PWM timer found in
diff --git a/drivers/clocksource/samsung_pwm_timer.c b/drivers/clocksource/samsung_pwm_timer.c
index e3257fa..9f4bd6a 100644
--- a/drivers/clocksource/samsung_pwm_timer.c
+++ b/drivers/clocksource/samsung_pwm_timer.c
@@ -356,7 +356,7 @@ static void __init samsung_timer_resources(void)
/*
* PWM master driver
*/
-static void __init samsung_pwm_clocksource_init(void)
+static void __init _samsung_pwm_clocksource_init(void)
{
u8 mask;
int channel;
@@ -378,6 +378,17 @@ static void __init samsung_pwm_clocksource_init(void)
samsung_clocksource_init();
}
+void __init samsung_pwm_clocksource_init(void __iomem *base,
+ unsigned int *irqs, struct samsung_pwm_variant *variant)
+{
+ pwm.base = base;
+ memcpy(&pwm.variant, variant, sizeof(pwm.variant));
+ memcpy(pwm.irq, irqs, SAMSUNG_PWM_NUM * sizeof(*irqs));
+
+ _samsung_pwm_clocksource_init();
+}
+
+#ifdef CONFIG_CLKSRC_OF
static void __init samsung_pwm_alloc(struct device_node *np,
const struct samsung_pwm_variant *variant)
{
@@ -414,7 +425,7 @@ static void __init samsung_pwm_alloc(struct device_node *np,
return;
}
- samsung_pwm_clocksource_init();
+ _samsung_pwm_clocksource_init();
}
static const struct samsung_pwm_variant s3c24xx_variant = {
@@ -468,3 +479,4 @@ static void __init s5p_pwm_clocksource_init(struct device_node *np)
samsung_pwm_alloc(np, &s5p_variant);
}
CLOCKSOURCE_OF_DECLARE(s5pc100_pwm, "samsung,s5pc100-pwm", s5p_pwm_clocksource_init);
+#endif
diff --git a/include/clocksource/samsung_pwm.h b/include/clocksource/samsung_pwm.h
index b1d8fe7..5c449c8 100644
--- a/include/clocksource/samsung_pwm.h
+++ b/include/clocksource/samsung_pwm.h
@@ -30,4 +30,7 @@ struct samsung_pwm_variant {
bool has_tint_cstat;
};
+void samsung_pwm_clocksource_init(void __iomem *base,
+ unsigned int *irqs, struct samsung_pwm_variant *variant);
+
#endif /* __CLOCKSOURCE_SAMSUNG_PWM_H */
--
1.8.2.1
next prev parent reply other threads:[~2013-04-23 15:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-23 15:46 [PATCH v3 00/13] ARM: EXYNOS: Fix Universal C210 support Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 01/13] Documentation: Add device tree bindings for Samsung PWM timers Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 02/13] clocksource: samsung_pwm_timer: Let platforms select the driver Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 03/13] clocksource: samsung_pwm_timer: Make PWM spinlock global Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 04/13] clocksource: samsung_pwm_timer: Keep all driver data in a structure Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 05/13] clocksource: samsung_pwm_timer: Drop unused samsung_pwm struct Tomasz Figa
2013-04-23 15:46 ` Tomasz Figa [this message]
2013-04-23 15:46 ` [PATCH v3 07/13] clocksource: samsung_pwm_timer: Use proper clockevents max_delta Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 08/13] clocksource: samsung_pwm_timer: Correct programming of clock events Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 09/13] clocksource: samsung_pwm_timer: Work around rounding errors in clockevents core Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 10/13] ARM: SAMSUNG: Do not register legacy timer interrupts on Exynos Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 11/13] ARM: EXYNOS: Fix support of Exynos4210 rev0 SoC Tomasz Figa
2013-04-28 19:22 ` Olof Johansson
2013-04-28 22:17 ` Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 12/13] ARM: dts: exynos4: Add node for PWM device Tomasz Figa
2013-04-23 15:46 ` [PATCH v3 13/13] ARM: dts: exynos4210: Add basic dts file for universal_c210 board Tomasz Figa
2013-04-24 15:56 ` [PATCH v3 00/13] ARM: EXYNOS: Fix Universal C210 support Tomasz Figa
2013-04-25 14:46 ` Arnd Bergmann
2013-04-25 15:48 ` Kukjin Kim
2013-04-27 0:34 ` Olof Johansson
2013-04-28 6:52 ` Kukjin Kim
2013-04-28 19:17 ` Olof Johansson
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=1366731994-7478-7-git-send-email-t.figa@samsung.com \
--to=t.figa@samsung.com \
--cc=arnd@arndb.de \
--cc=ben-linux@fluff.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=john.stultz@linaro.org \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=olof@lixom.net \
--cc=tglx@linutronix.de \
--cc=thomas.abraham@linaro.org \
--cc=tomasz.figa@gmail.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 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).