* [PATCH v3 1/4] clocksource: move PXA timer to clocksource framework @ 2014-07-14 16:52 Robert Jarzmik 2014-07-14 16:52 ` [PATCH v3 3/4] arm: pxa: add CLKSRC_OF dependency Robert Jarzmik [not found] ` <1405356724-32207-1-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> 0 siblings, 2 replies; 13+ messages in thread From: Robert Jarzmik @ 2014-07-14 16:52 UTC (permalink / raw) To: Daniel Lezcano, Haojian Zhuang Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner, Robert Jarzmik Move time.c from arch/arm/mach-pxa/time.c to drivers/clocksource/pxa_timer.c. Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> --- arch/arm/mach-pxa/Makefile | 2 +- drivers/clocksource/Makefile | 1 + arch/arm/mach-pxa/time.c => drivers/clocksource/pxa_timer.c | 0 3 files changed, 2 insertions(+), 1 deletion(-) rename arch/arm/mach-pxa/time.c => drivers/clocksource/pxa_timer.c (100%) diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index 648867a..2fe1824 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile @@ -4,7 +4,7 @@ # Common support (must be linked before board specific support) obj-y += clock.o devices.o generic.o irq.o \ - time.o reset.o + reset.o obj-$(CONFIG_PM) += pm.o sleep.o standby.o # Generic drivers that other drivers may depend upon diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile index 800b130..fc61ef8 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_ARCH_BCM2835) += bcm2835_timer.o obj-$(CONFIG_ARCH_MARCO) += timer-marco.o obj-$(CONFIG_ARCH_MOXART) += moxart_timer.o obj-$(CONFIG_ARCH_MXS) += mxs_timer.o +obj-$(CONFIG_ARCH_PXA) += pxa_timer.o obj-$(CONFIG_ARCH_PRIMA2) += timer-prima2.o obj-$(CONFIG_ARCH_U300) += timer-u300.o obj-$(CONFIG_SUN4I_TIMER) += sun4i_timer.o diff --git a/arch/arm/mach-pxa/time.c b/drivers/clocksource/pxa_timer.c similarity index 100% rename from arch/arm/mach-pxa/time.c rename to drivers/clocksource/pxa_timer.c -- 2.0.0.rc2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 3/4] arm: pxa: add CLKSRC_OF dependency 2014-07-14 16:52 [PATCH v3 1/4] clocksource: move PXA timer to clocksource framework Robert Jarzmik @ 2014-07-14 16:52 ` Robert Jarzmik [not found] ` <1405356724-32207-1-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> 1 sibling, 0 replies; 13+ messages in thread From: Robert Jarzmik @ 2014-07-14 16:52 UTC (permalink / raw) To: Daniel Lezcano, Haojian Zhuang Cc: linux-arm-kernel, linux-kernel, devicetree, Thomas Gleixner, Robert Jarzmik Select CLKSRC_OF for PXA architectures. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 87b63fd..472dea1 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -644,6 +644,7 @@ config ARCH_PXA select AUTO_ZRELADDR select CLKDEV_LOOKUP select CLKSRC_MMIO + select CLKSRC_OF select GENERIC_CLOCKEVENTS select GPIO_PXA select HAVE_IDE -- 2.0.0.rc2 ^ permalink raw reply related [flat|nested] 13+ messages in thread
[parent not found: <1405356724-32207-1-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org>]
* [PATCH v3 2/4] clocksource: add device-tree support for PXA timer [not found] ` <1405356724-32207-1-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> @ 2014-07-14 16:52 ` Robert Jarzmik 2014-07-14 16:52 ` [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource Robert Jarzmik 1 sibling, 0 replies; 13+ messages in thread From: Robert Jarzmik @ 2014-07-14 16:52 UTC (permalink / raw) To: Daniel Lezcano, Haojian Zhuang Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner, Robert Jarzmik Add device-tree support to PXA platforms. The driver still needs to maintain backward non device-tree compatibility as well, which implies : - a non device-tree init function - a static registers base address in the driver Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> --- Since V1: Daniel's review: - comments for registers - registers clean-up - mach includes removed - panic() removed --- drivers/clocksource/pxa_timer.c | 137 +++++++++++++++++++++++++++++----------- 1 file changed, 101 insertions(+), 36 deletions(-) diff --git a/drivers/clocksource/pxa_timer.c b/drivers/clocksource/pxa_timer.c index fca174e..941f3f3 100644 --- a/drivers/clocksource/pxa_timer.c +++ b/drivers/clocksource/pxa_timer.c @@ -15,14 +15,30 @@ #include <linux/kernel.h> #include <linux/init.h> #include <linux/interrupt.h> +#include <linux/clk.h> #include <linux/clockchips.h> +#include <linux/of_address.h> +#include <linux/of_irq.h> #include <linux/sched_clock.h> #include <asm/div64.h> -#include <asm/mach/irq.h> -#include <asm/mach/time.h> -#include <mach/regs-ost.h> -#include <mach/irqs.h> + +#define OSMR0 0x00 /* OS Timer 0 Match Register */ +#define OSMR1 0x04 /* OS Timer 1 Match Register */ +#define OSMR2 0x08 /* OS Timer 2 Match Register */ +#define OSMR3 0x0C /* OS Timer 3 Match Register */ + +#define OSCR 0x10 /* OS Timer Counter Register */ +#define OSSR 0x14 /* OS Timer Status Register */ +#define OWER 0x18 /* OS Timer Watchdog Enable Register */ +#define OIER 0x1C /* OS Timer Interrupt Enable Register */ + +#define OSSR_M3 (1 << 3) /* Match status channel 3 */ +#define OSSR_M2 (1 << 2) /* Match status channel 2 */ +#define OSSR_M1 (1 << 1) /* Match status channel 1 */ +#define OSSR_M0 (1 << 0) /* Match status channel 0 */ + +#define OIER_E0 (1 << 0) /* Interrupt enable channel 0 */ /* * This is PXA's sched_clock implementation. This has a resolution @@ -33,9 +49,14 @@ * calls to sched_clock() which should always be the case in practice. */ +#define timer_readl(reg) readl_relaxed(timer_base + (reg)) +#define timer_writel(val, reg) writel_relaxed((val), timer_base + (reg)) + +static void __iomem *timer_base; + static u64 notrace pxa_read_sched_clock(void) { - return readl_relaxed(OSCR); + return timer_readl(OSCR); } @@ -47,8 +68,8 @@ pxa_ost0_interrupt(int irq, void *dev_id) struct clock_event_device *c = dev_id; /* Disarm the compare/match, signal the event. */ - writel_relaxed(readl_relaxed(OIER) & ~OIER_E0, OIER); - writel_relaxed(OSSR_M0, OSSR); + timer_writel(timer_readl(OIER) & ~OIER_E0, OIER); + timer_writel(OSSR_M0, OSSR); c->event_handler(c); return IRQ_HANDLED; @@ -59,10 +80,10 @@ pxa_osmr0_set_next_event(unsigned long delta, struct clock_event_device *dev) { unsigned long next, oscr; - writel_relaxed(readl_relaxed(OIER) | OIER_E0, OIER); - next = readl_relaxed(OSCR) + delta; - writel_relaxed(next, OSMR0); - oscr = readl_relaxed(OSCR); + timer_writel(timer_readl(OIER) | OIER_E0, OIER); + next = timer_readl(OSCR) + delta; + timer_writel(next, OSMR0); + oscr = timer_readl(OSCR); return (signed)(next - oscr) <= MIN_OSCR_DELTA ? -ETIME : 0; } @@ -72,15 +93,15 @@ pxa_osmr0_set_mode(enum clock_event_mode mode, struct clock_event_device *dev) { switch (mode) { case CLOCK_EVT_MODE_ONESHOT: - writel_relaxed(readl_relaxed(OIER) & ~OIER_E0, OIER); - writel_relaxed(OSSR_M0, OSSR); + timer_writel(timer_readl(OIER) & ~OIER_E0, OIER); + timer_writel(OSSR_M0, OSSR); break; case CLOCK_EVT_MODE_UNUSED: case CLOCK_EVT_MODE_SHUTDOWN: /* initializing, released, or preparing for suspend */ - writel_relaxed(readl_relaxed(OIER) & ~OIER_E0, OIER); - writel_relaxed(OSSR_M0, OSSR); + timer_writel(timer_readl(OIER) & ~OIER_E0, OIER); + timer_writel(OSSR_M0, OSSR); break; case CLOCK_EVT_MODE_RESUME: @@ -94,12 +115,12 @@ static unsigned long osmr[4], oier, oscr; static void pxa_timer_suspend(struct clock_event_device *cedev) { - osmr[0] = readl_relaxed(OSMR0); - osmr[1] = readl_relaxed(OSMR1); - osmr[2] = readl_relaxed(OSMR2); - osmr[3] = readl_relaxed(OSMR3); - oier = readl_relaxed(OIER); - oscr = readl_relaxed(OSCR); + osmr[0] = timer_readl(OSMR0); + osmr[1] = timer_readl(OSMR1); + osmr[2] = timer_readl(OSMR2); + osmr[3] = timer_readl(OSMR3); + oier = timer_readl(OIER); + oscr = timer_readl(OSCR); } static void pxa_timer_resume(struct clock_event_device *cedev) @@ -113,12 +134,12 @@ static void pxa_timer_resume(struct clock_event_device *cedev) if (osmr[0] - oscr < MIN_OSCR_DELTA) osmr[0] += MIN_OSCR_DELTA; - writel_relaxed(osmr[0], OSMR0); - writel_relaxed(osmr[1], OSMR1); - writel_relaxed(osmr[2], OSMR2); - writel_relaxed(osmr[3], OSMR3); - writel_relaxed(oier, OIER); - writel_relaxed(oscr, OSCR); + timer_writel(osmr[0], OSMR0); + timer_writel(osmr[1], OSMR1); + timer_writel(osmr[2], OSMR2); + timer_writel(osmr[3], OSMR3); + timer_writel(oier, OIER); + timer_writel(oscr, OSCR); } #else #define pxa_timer_suspend NULL @@ -142,21 +163,65 @@ static struct irqaction pxa_ost0_irq = { .dev_id = &ckevt_pxa_osmr0, }; -void __init pxa_timer_init(void) +static void pxa_timer_common_init(int irq, unsigned long clock_tick_rate) { - unsigned long clock_tick_rate = get_clock_tick_rate(); - - writel_relaxed(0, OIER); - writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR); + timer_writel(0, OIER); + timer_writel(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR); sched_clock_register(pxa_read_sched_clock, 32, clock_tick_rate); ckevt_pxa_osmr0.cpumask = cpumask_of(0); - setup_irq(IRQ_OST0, &pxa_ost0_irq); + setup_irq(irq, &pxa_ost0_irq); - clocksource_mmio_init(OSCR, "oscr0", clock_tick_rate, 200, 32, - clocksource_mmio_readl_up); + clocksource_mmio_init(timer_base + OSCR, "oscr0", clock_tick_rate, 200, + 32, clocksource_mmio_readl_up); clockevents_config_and_register(&ckevt_pxa_osmr0, clock_tick_rate, - MIN_OSCR_DELTA * 2, 0x7fffffff); + MIN_OSCR_DELTA * 2, 0x7fffffff); +} + +static void __init pxa_timer_dt_init(struct device_node *np) +{ + struct clk *clk; + int irq; + + /* timer registers are shared with watchdog timer */ + timer_base = of_iomap(np, 0); + if (!timer_base) + panic("%s: unable to map resource\n", np->name); + + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) { + pr_crit("%s: unable to get clk\n", np->name); + return; + } + clk_prepare_enable(clk); + + /* we are only interested in OS-timer0 irq */ + irq = irq_of_parse_and_map(np, 0); + if (irq <= 0) { + pr_crit("%s: unable to parse OS-timer0 irq\n", np->name); + return; + } + + pxa_timer_common_init(irq, clk_get_rate(clk)); +} +CLOCKSOURCE_OF_DECLARE(pxa_timer, "marvell,pxa-timer", pxa_timer_dt_init); + +/* + * Legacy timer init for non device-tree boards. + */ +void __init pxa_timer_nodt_init(int irq, void __iomem *base, + unsigned long clock_tick_rate) +{ + struct clk *clk; + + timer_base = base; + clk = clk_get(NULL, "OSTIMER0"); + if (clk && !IS_ERR(clk)) + clk_prepare_enable(clk); + else + pr_crit("%s: unable to get clk\n", __func__); + + pxa_timer_common_init(irq, clock_tick_rate); } -- 2.0.0.rc2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource [not found] ` <1405356724-32207-1-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> 2014-07-14 16:52 ` [PATCH v3 2/4] clocksource: add device-tree support for PXA timer Robert Jarzmik @ 2014-07-14 16:52 ` Robert Jarzmik [not found] ` <1405356724-32207-4-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> 1 sibling, 1 reply; 13+ messages in thread From: Robert Jarzmik @ 2014-07-14 16:52 UTC (permalink / raw) To: Daniel Lezcano, Haojian Zhuang Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner, Robert Jarzmik As clocksource pxa_timer was moved to clocksource framework, the pxa_timer initialization needs to be a bit amended, to pass the necessary informations to clocksource, ie : - the timer interrupt (mach specific) - the timer registers base (ditto) - the timer clockrate Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> --- Since V2: Arnd's comment : moved extern declaration into .h file --- arch/arm/mach-pxa/generic.c | 11 +++++++++++ include/clocksource/pxa.h | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 include/clocksource/pxa.h diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 4225417..6f38e1a 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c @@ -25,11 +25,13 @@ #include <asm/mach/map.h> #include <asm/mach-types.h> +#include <mach/irqs.h> #include <mach/reset.h> #include <mach/smemc.h> #include <mach/pxa3xx-regs.h> #include "generic.h" +#include <clocksource/pxa.h> void clear_reset_status(unsigned int mask) { @@ -57,6 +59,15 @@ unsigned long get_clock_tick_rate(void) EXPORT_SYMBOL(get_clock_tick_rate); /* + * For non device-tree builds, keep legacy timer init + */ +void pxa_timer_init(void) +{ + pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000), + get_clock_tick_rate()); +} + +/* * Get the clock frequency as reflected by CCCR and the turbo flag. * We assume these values have been applied via a fcs. * If info is not 0 we also display the current settings. diff --git a/include/clocksource/pxa.h b/include/clocksource/pxa.h new file mode 100644 index 0000000..1efbe5a --- /dev/null +++ b/include/clocksource/pxa.h @@ -0,0 +1,18 @@ +/* + * PXA clocksource, clockevents, and OST interrupt handlers. + * + * Copyright (C) 2014 Robert Jarzmik + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + */ + +#ifndef _CLOCKSOURCE_PXA_H +#define _CLOCKSOURCE_PXA_H + +extern void pxa_timer_nodt_init(int irq, void __iomem *base, + unsigned long clock_tick_rate); + +#endif -- 2.0.0.rc2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
[parent not found: <1405356724-32207-4-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org>]
* Re: [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource [not found] ` <1405356724-32207-4-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> @ 2014-07-21 14:37 ` Daniel Lezcano [not found] ` <53CD25A4.7030606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 0 siblings, 1 reply; 13+ messages in thread From: Daniel Lezcano @ 2014-07-21 14:37 UTC (permalink / raw) To: Robert Jarzmik, Haojian Zhuang Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner On 07/14/2014 06:52 PM, Robert Jarzmik wrote: > As clocksource pxa_timer was moved to clocksource framework, the > pxa_timer initialization needs to be a bit amended, to pass the > necessary informations to clocksource, ie : > - the timer interrupt (mach specific) > - the timer registers base (ditto) > - the timer clockrate > > Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> > > --- > Since V2: Arnd's comment : moved extern declaration into .h file > --- Shall I take the patches 4-5 also ? Arnd ? Thanks -- Daniel > arch/arm/mach-pxa/generic.c | 11 +++++++++++ > include/clocksource/pxa.h | 18 ++++++++++++++++++ > 2 files changed, 29 insertions(+) > create mode 100644 include/clocksource/pxa.h > > diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c > index 4225417..6f38e1a 100644 > --- a/arch/arm/mach-pxa/generic.c > +++ b/arch/arm/mach-pxa/generic.c > @@ -25,11 +25,13 @@ > #include <asm/mach/map.h> > #include <asm/mach-types.h> > > +#include <mach/irqs.h> > #include <mach/reset.h> > #include <mach/smemc.h> > #include <mach/pxa3xx-regs.h> > > #include "generic.h" > +#include <clocksource/pxa.h> > > void clear_reset_status(unsigned int mask) > { > @@ -57,6 +59,15 @@ unsigned long get_clock_tick_rate(void) > EXPORT_SYMBOL(get_clock_tick_rate); > > /* > + * For non device-tree builds, keep legacy timer init > + */ > +void pxa_timer_init(void) > +{ > + pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000), > + get_clock_tick_rate()); > +} > + > +/* > * Get the clock frequency as reflected by CCCR and the turbo flag. > * We assume these values have been applied via a fcs. > * If info is not 0 we also display the current settings. > diff --git a/include/clocksource/pxa.h b/include/clocksource/pxa.h > new file mode 100644 > index 0000000..1efbe5a > --- /dev/null > +++ b/include/clocksource/pxa.h > @@ -0,0 +1,18 @@ > +/* > + * PXA clocksource, clockevents, and OST interrupt handlers. > + * > + * Copyright (C) 2014 Robert Jarzmik > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; version 2 of the License. > + * > + */ > + > +#ifndef _CLOCKSOURCE_PXA_H > +#define _CLOCKSOURCE_PXA_H > + > +extern void pxa_timer_nodt_init(int irq, void __iomem *base, > + unsigned long clock_tick_rate); > + > +#endif > -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <53CD25A4.7030606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource [not found] ` <53CD25A4.7030606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> @ 2014-07-21 18:15 ` Robert Jarzmik 2014-07-26 18:50 ` [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init Arnd Bergmann 2014-09-26 7:52 ` [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource Daniel Lezcano 0 siblings, 2 replies; 13+ messages in thread From: Robert Jarzmik @ 2014-07-21 18:15 UTC (permalink / raw) To: Haojian Zhuang, Daniel Lezcano Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner Daniel Lezcano <daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> writes: > On 07/14/2014 06:52 PM, Robert Jarzmik wrote: >> As clocksource pxa_timer was moved to clocksource framework, the >> pxa_timer initialization needs to be a bit amended, to pass the >> necessary informations to clocksource, ie : >> - the timer interrupt (mach specific) >> - the timer registers base (ditto) >> - the timer clockrate >> >> Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> >> >> --- >> Since V2: Arnd's comment : moved extern declaration into .h file >> --- > > Shall I take the patches 4-5 also ? Mmm you mean patch 4 I think. Then I'd like you too, because it's linked in the serie, and without it the former non-DT platforms break, hence I'd like all the serie to go through 1 tree. Yet we'd need Haojian's ack here. Haojian, would you give your blessing on the serie and agree that Daniel carries all the patches including patch 4/4 ? Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-07-21 18:15 ` Robert Jarzmik @ 2014-07-26 18:50 ` Arnd Bergmann 2014-07-26 21:17 ` Robert Jarzmik ` (2 more replies) 2014-09-26 7:52 ` [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource Daniel Lezcano 1 sibling, 3 replies; 13+ messages in thread From: Arnd Bergmann @ 2014-07-26 18:50 UTC (permalink / raw) To: Robert Jarzmik Cc: Haojian Zhuang, Daniel Lezcano, linux-arm-kernel, linux-kernel, devicetree, Thomas Gleixner commit a38b1f60b5245a3 ("ARM: pxa: Add non device-tree timer link to clocksource") introduced a harmless section mismatch warning for all pxa platforms, by introducing a new pxa_timer_init() function that is not marked __init but that calls pxa_timer_nodt_init(), which is. The function is only called at init time, so it is safe to also annotate it this way. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- Daniel, please apply on top of Robert's patch series. diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 630fa916bbc6..04b013fbc98f 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c @@ -61,7 +61,7 @@ EXPORT_SYMBOL(get_clock_tick_rate); /* * For non device-tree builds, keep legacy timer init */ -void pxa_timer_init(void) +void __init pxa_timer_init(void) { pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000), get_clock_tick_rate()); ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-07-26 18:50 ` [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init Arnd Bergmann @ 2014-07-26 21:17 ` Robert Jarzmik 2014-07-28 5:39 ` Daniel Lezcano 2014-09-07 21:06 ` Arnd Bergmann 2 siblings, 0 replies; 13+ messages in thread From: Robert Jarzmik @ 2014-07-26 21:17 UTC (permalink / raw) To: Arnd Bergmann Cc: Haojian Zhuang, Daniel Lezcano, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> writes: > commit a38b1f60b5245a3 ("ARM: pxa: Add non device-tree timer link to > clocksource") introduced a harmless section mismatch warning for > all pxa platforms, by introducing a new pxa_timer_init() function > that is not marked __init but that calls pxa_timer_nodt_init(), > which is. The function is only called at init time, so it is safe > to also annotate it this way. > > Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> Indeed. Acked-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-07-26 18:50 ` [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init Arnd Bergmann 2014-07-26 21:17 ` Robert Jarzmik @ 2014-07-28 5:39 ` Daniel Lezcano 2014-09-07 21:06 ` Arnd Bergmann 2 siblings, 0 replies; 13+ messages in thread From: Daniel Lezcano @ 2014-07-28 5:39 UTC (permalink / raw) To: Arnd Bergmann, Robert Jarzmik Cc: Haojian Zhuang, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner On 07/26/2014 08:50 PM, Arnd Bergmann wrote: > commit a38b1f60b5245a3 ("ARM: pxa: Add non device-tree timer link to > clocksource") introduced a harmless section mismatch warning for > all pxa platforms, by introducing a new pxa_timer_init() function > that is not marked __init but that calls pxa_timer_nodt_init(), > which is. The function is only called at init time, so it is safe > to also annotate it this way. > > Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> > --- > Daniel, please apply on top of Robert's patch series. Applied thanks! -- Daniel > > diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c > index 630fa916bbc6..04b013fbc98f 100644 > --- a/arch/arm/mach-pxa/generic.c > +++ b/arch/arm/mach-pxa/generic.c > @@ -61,7 +61,7 @@ EXPORT_SYMBOL(get_clock_tick_rate); > /* > * For non device-tree builds, keep legacy timer init > */ > -void pxa_timer_init(void) > +void __init pxa_timer_init(void) > { > pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000), > get_clock_tick_rate()); > -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-07-26 18:50 ` [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init Arnd Bergmann 2014-07-26 21:17 ` Robert Jarzmik 2014-07-28 5:39 ` Daniel Lezcano @ 2014-09-07 21:06 ` Arnd Bergmann 2014-09-08 2:21 ` Re : " robert.jarzmik 2 siblings, 1 reply; 13+ messages in thread From: Arnd Bergmann @ 2014-09-07 21:06 UTC (permalink / raw) To: Robert Jarzmik Cc: Haojian Zhuang, Daniel Lezcano, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner, arm-DgEjT+Ai2ygdnm+yROfE0A On Saturday 26 July 2014 20:50:36 Arnd Bergmann wrote: > commit a38b1f60b5245a3 ("ARM: pxa: Add non device-tree timer link to > clocksource") introduced a harmless section mismatch warning for > all pxa platforms, by introducing a new pxa_timer_init() function > that is not marked __init but that calls pxa_timer_nodt_init(), > which is. The function is only called at init time, so it is safe > to also annotate it this way. > > Signed-off-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> > Apparently this is not merged yet, should we take it through arm-soc? diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 630fa916bbc6..04b013fbc98f 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c @@ -61,7 +61,7 @@ EXPORT_SYMBOL(get_clock_tick_rate); /* * For non device-tree builds, keep legacy timer init */ -void pxa_timer_init(void) +void __init pxa_timer_init(void) { pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000), get_clock_tick_rate()); -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re : Re: [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-09-07 21:06 ` Arnd Bergmann @ 2014-09-08 2:21 ` robert.jarzmik 0 siblings, 0 replies; 13+ messages in thread From: robert.jarzmik @ 2014-09-08 2:21 UTC (permalink / raw) To: Arnd Bergmann Cc: Haojian Zhuang, Daniel Lezcano, linux-arm-kernel, linux-kernel, devicetree, Thomas Gleixner, arm Yes please Arnd, I'm still out for 1.5 week, so it would be great if you take that through your tree with my ack. Thanks. Robert PS: I know, top-posting is madness, but I'm really limited by technology right now. ----- Mail d'origine ----- De: Arnd Bergmann <arnd@arndb.de> À: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Haojian Zhuang <haojian.zhuang@gmail.com>, Daniel Lezcano <daniel.lezcano@linaro.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, arm@kernel.org Envoyé: Sun, 07 Sep 2014 23:06:05 +0200 (CEST) Objet: Re: [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init On Saturday 26 July 2014 20:50:36 Arnd Bergmann wrote: > commit a38b1f60b5245a3 ("ARM: pxa: Add non device-tree timer link to > clocksource") introduced a harmless section mismatch warning for > all pxa platforms, by introducing a new pxa_timer_init() function > that is not marked __init but that calls pxa_timer_nodt_init(), > which is. The function is only called at init time, so it is safe > to also annotate it this way. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Apparently this is not merged yet, should we take it through arm-soc? diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 630fa916bbc6..04b013fbc98f 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c @@ -61,7 +61,7 @@ EXPORT_SYMBOL(get_clock_tick_rate); /* * For non device-tree builds, keep legacy timer init */ -void pxa_timer_init(void) +void __init pxa_timer_init(void) { pxa_timer_nodt_init(IRQ_OST0, io_p2v(0x40a00000), get_clock_tick_rate()); ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource 2014-07-21 18:15 ` Robert Jarzmik 2014-07-26 18:50 ` [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init Arnd Bergmann @ 2014-09-26 7:52 ` Daniel Lezcano [not found] ` <54251B27.909-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 1 sibling, 1 reply; 13+ messages in thread From: Daniel Lezcano @ 2014-09-26 7:52 UTC (permalink / raw) To: Robert Jarzmik, Haojian Zhuang Cc: linux-arm-kernel, linux-kernel, devicetree, Thomas Gleixner On 07/21/2014 08:15 PM, Robert Jarzmik wrote: > Daniel Lezcano <daniel.lezcano@linaro.org> writes: > >> On 07/14/2014 06:52 PM, Robert Jarzmik wrote: >>> As clocksource pxa_timer was moved to clocksource framework, the >>> pxa_timer initialization needs to be a bit amended, to pass the >>> necessary informations to clocksource, ie : >>> - the timer interrupt (mach specific) >>> - the timer registers base (ditto) >>> - the timer clockrate >>> >>> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> >>> >>> --- >>> Since V2: Arnd's comment : moved extern declaration into .h file >>> --- >> >> Shall I take the patches 4-5 also ? > Mmm you mean patch 4 I think. > Then I'd like you too, because it's linked in the serie, and without it the > former non-DT platforms break, hence I'd like all the serie to go through 1 > tree. > > Yet we'd need Haojian's ack here. Haojian, would you give your blessing on the > serie and agree that Daniel carries all the patches including patch 4/4 ? Hi, May be I missed it but I don't see the Haojian's ack. Thanks -- Daniel -- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <54251B27.909-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>]
* Re: [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource [not found] ` <54251B27.909-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> @ 2014-09-26 17:08 ` Robert Jarzmik 0 siblings, 0 replies; 13+ messages in thread From: Robert Jarzmik @ 2014-09-26 17:08 UTC (permalink / raw) To: Haojian Zhuang, Daniel Lezcano Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, Thomas Gleixner Daniel Lezcano <daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> writes: > On 07/21/2014 08:15 PM, Robert Jarzmik wrote: >> Daniel Lezcano <daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> writes: >> >>> On 07/14/2014 06:52 PM, Robert Jarzmik wrote: >>>> As clocksource pxa_timer was moved to clocksource framework, the >>>> pxa_timer initialization needs to be a bit amended, to pass the >>>> necessary informations to clocksource, ie : >>>> - the timer interrupt (mach specific) >>>> - the timer registers base (ditto) >>>> - the timer clockrate >>>> >>>> Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> >>>> >>>> --- >>>> Since V2: Arnd's comment : moved extern declaration into .h file >>>> --- >>> > Hi, > > May be I missed it but I don't see the Haojian's ack. > > Thanks > -- Daniel You're right, I scanned through my mail and didn't find the ack. Haojian, would you review this one please ? It's here : http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/272311.html Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-09-26 17:08 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-14 16:52 [PATCH v3 1/4] clocksource: move PXA timer to clocksource framework Robert Jarzmik 2014-07-14 16:52 ` [PATCH v3 3/4] arm: pxa: add CLKSRC_OF dependency Robert Jarzmik [not found] ` <1405356724-32207-1-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> 2014-07-14 16:52 ` [PATCH v3 2/4] clocksource: add device-tree support for PXA timer Robert Jarzmik 2014-07-14 16:52 ` [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource Robert Jarzmik [not found] ` <1405356724-32207-4-git-send-email-robert.jarzmik-GANU6spQydw@public.gmane.org> 2014-07-21 14:37 ` Daniel Lezcano [not found] ` <53CD25A4.7030606-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2014-07-21 18:15 ` Robert Jarzmik 2014-07-26 18:50 ` [PATCH ] ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init Arnd Bergmann 2014-07-26 21:17 ` Robert Jarzmik 2014-07-28 5:39 ` Daniel Lezcano 2014-09-07 21:06 ` Arnd Bergmann 2014-09-08 2:21 ` Re : " robert.jarzmik 2014-09-26 7:52 ` [PATCH v3 4/4] arm: pxa: add non device-tree timer link to clocksource Daniel Lezcano [not found] ` <54251B27.909-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2014-09-26 17:08 ` Robert Jarzmik
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).