* [PATCH 0/3] dw_apb_timer: osc as sched_clock, clocks and clocksource_of support
@ 2013-06-03 19:57 Heiko Stübner
[not found] ` <201306032157.40488.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
2013-06-03 19:58 ` [PATCH 2/3] clocksource: dw_apb_timer_of: add clock-handling Heiko Stübner
0 siblings, 2 replies; 6+ messages in thread
From: Heiko Stübner @ 2013-06-03 19:57 UTC (permalink / raw)
To: Jamie Iles, Dinh Nguyen, Grant Likely,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, John Stultz,
Thomas Gleixner
This is split off of my Rockchip support series from yesterday. It's now
a patch more than before, as the third patch enables the timer to be used
thru clocksource_of_init and moves picoxcell and socfpga to it.
Heiko Stuebner (3):
clocksource: dw_apb_timer_of: use the clocksource as sched clock if
necessary
clocksource: dw_apb_timer_of: add clock-handling
clocksource: dw_apb_timer_of: use clocksource_of_init
Documentation/devicetree/bindings/rtc/dw-apb.txt | 19 +++++
arch/arm/mach-picoxcell/Kconfig | 1 +
arch/arm/mach-picoxcell/common.c | 2 -
arch/arm/mach-socfpga/Kconfig | 1 +
arch/arm/mach-socfpga/socfpga.c | 2 -
drivers/clocksource/dw_apb_timer_of.c | 95 ++++++++++++++-------
include/linux/dw_apb_timer.h | 1 -
7 files changed, 84 insertions(+), 37 deletions(-)
--
1.7.2.3
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] clocksource: dw_apb_timer_of: use the clocksource as sched clock if necessary
[not found] ` <201306032157.40488.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
@ 2013-06-03 19:58 ` Heiko Stübner
2013-06-03 19:59 ` [PATCH 3/3] clocksource: dw_apb_timer_of: use clocksource_of_init Heiko Stübner
1 sibling, 0 replies; 6+ messages in thread
From: Heiko Stübner @ 2013-06-03 19:58 UTC (permalink / raw)
To: Jamie Iles
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, John Stultz,
Grant Likely, Thomas Gleixner,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Currently the dw_apb_timer always expects a separate special timer to be
availbable for the sched_clock. Some devices using dw_apb_timers do not
have the sptimer but can use the clocksource as sched_clock.
Therefore this patch adds using the clocksource timer as
a fallback if no usable sched timer is found.
Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
---
drivers/clocksource/dw_apb_timer_of.c | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/drivers/clocksource/dw_apb_timer_of.c b/drivers/clocksource/dw_apb_timer_of.c
index ab09ed3..d6c0fda 100644
--- a/drivers/clocksource/dw_apb_timer_of.c
+++ b/drivers/clocksource/dw_apb_timer_of.c
@@ -57,6 +57,9 @@ static void add_clockevent(struct device_node *event_timer)
dw_apb_clockevent_register(ced);
}
+static void __iomem *sched_io_base;
+static u32 sched_rate;
+
static void add_clocksource(struct device_node *source_timer)
{
void __iomem *iobase;
@@ -71,9 +74,15 @@ static void add_clocksource(struct device_node *source_timer)
dw_apb_clocksource_start(cs);
dw_apb_clocksource_register(cs);
-}
-static void __iomem *sched_io_base;
+ /*
+ * Fallback to use the clocksource as sched_clock if no separate
+ * timer is found. sched_io_base then points to the current_value
+ * register of the clocksource timer.
+ */
+ sched_io_base = iobase + 0x04;
+ sched_rate = rate;
+}
static u32 read_sched_clock(void)
{
@@ -89,16 +98,15 @@ static const struct of_device_id sptimer_ids[] __initconst = {
static void init_sched_clock(void)
{
struct device_node *sched_timer;
- u32 rate;
sched_timer = of_find_matching_node(NULL, sptimer_ids);
- if (!sched_timer)
- panic("No RTC for sched clock to use");
-
- timer_get_base_and_rate(sched_timer, &sched_io_base, &rate);
- of_node_put(sched_timer);
+ if (sched_timer) {
+ timer_get_base_and_rate(sched_timer, &sched_io_base,
+ &sched_rate);
+ of_node_put(sched_timer);
+ }
- setup_sched_clock(read_sched_clock, 32, rate);
+ setup_sched_clock(read_sched_clock, 32, sched_rate);
}
static const struct of_device_id osctimer_ids[] __initconst = {
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] clocksource: dw_apb_timer_of: add clock-handling
2013-06-03 19:57 [PATCH 0/3] dw_apb_timer: osc as sched_clock, clocks and clocksource_of support Heiko Stübner
[not found] ` <201306032157.40488.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
@ 2013-06-03 19:58 ` Heiko Stübner
1 sibling, 0 replies; 6+ messages in thread
From: Heiko Stübner @ 2013-06-03 19:58 UTC (permalink / raw)
To: Jamie Iles
Cc: Dinh Nguyen, Grant Likely, linux-arm-kernel, Rob Herring,
John Stultz, Thomas Gleixner, devicetree-discuss, linux-kernel,
Arnd Bergmann
Add the possibility to get the clock-frequency from a timer clock instead
of specifying it as dt property. Additionally also add the possibility
to also define a controlling periphal clock for the timer block.
The clock-frequency property is kept to act as fallback if no clocks
are specified.
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
Documentation/devicetree/bindings/rtc/dw-apb.txt | 19 ++++++++++++++++
drivers/clocksource/dw_apb_timer_of.c | 26 +++++++++++++++++++++-
2 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/Documentation/devicetree/bindings/rtc/dw-apb.txt b/Documentation/devicetree/bindings/rtc/dw-apb.txt
index 93e2b0f..eb2327b 100644
--- a/Documentation/devicetree/bindings/rtc/dw-apb.txt
+++ b/Documentation/devicetree/bindings/rtc/dw-apb.txt
@@ -5,9 +5,20 @@ Required properties:
- reg: physical base address of the controller and length of memory mapped
region.
- interrupts: IRQ line for the timer.
+- either clocks+clock-names or clock-frequency properties
+
+Optional properties:
+- clocks : list of clock specifiers, corresponding to entries in
+ the clock-names property;
+- clock-names : should contain "timer" and "pclk" entries, matching entries
+ in the clocks property.
- clock-frequency: The frequency in HZ of the timer.
- clock-freq: For backwards compatibility with picoxcell
+If using the clock specifiers, the pclk clock is optional, as not all
+systems may use one.
+
+
Example:
timer1: timer@ffc09000 {
@@ -23,3 +34,11 @@ Example:
clock-frequency = <200000000>;
reg = <0xffd00000 0x1000>;
};
+
+ timer3: timer@ffe00000 {
+ compatible = "snps,dw-apb-timer-osc";
+ interrupts = <0 170 4>;
+ reg = <0xffe00000 0x1000>;
+ clocks = <&timer_clk>, <&timer_pclk>;
+ clock-names = "timer", "pclk";
+ };
diff --git a/drivers/clocksource/dw_apb_timer_of.c b/drivers/clocksource/dw_apb_timer_of.c
index d6c0fda..1964f87 100644
--- a/drivers/clocksource/dw_apb_timer_of.c
+++ b/drivers/clocksource/dw_apb_timer_of.c
@@ -20,6 +20,7 @@
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
+#include <linux/clk.h>
#include <asm/mach/time.h>
#include <asm/sched_clock.h>
@@ -27,14 +28,37 @@
static void timer_get_base_and_rate(struct device_node *np,
void __iomem **base, u32 *rate)
{
+ struct clk *timer_clk;
+ struct clk *pclk;
+
*base = of_iomap(np, 0);
if (!*base)
panic("Unable to map regs for %s", np->name);
+ /*
+ * Not all implementations use a periphal clock, so don't panic
+ * if it's not present
+ */
+ pclk = of_clk_get_by_name(np, "pclk");
+ if (!IS_ERR(pclk))
+ if (clk_prepare_enable(pclk))
+ pr_warn("pclk for %s is present, but could not be activated\n",
+ np->name);
+
+ timer_clk = of_clk_get_by_name(np, "timer");
+ if (IS_ERR(timer_clk))
+ goto try_clock_freq;
+
+ if (!clk_prepare_enable(timer_clk)) {
+ *rate = clk_get_rate(timer_clk);
+ return;
+ }
+
+try_clock_freq:
if (of_property_read_u32(np, "clock-freq", rate) &&
of_property_read_u32(np, "clock-frequency", rate))
- panic("No clock-frequency property for %s", np->name);
+ panic("No clock nor clock-frequency property for %s", np->name);
}
static void add_clockevent(struct device_node *event_timer)
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] clocksource: dw_apb_timer_of: use clocksource_of_init
[not found] ` <201306032157.40488.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
2013-06-03 19:58 ` [PATCH 1/3] clocksource: dw_apb_timer_of: use the clocksource as sched clock if necessary Heiko Stübner
@ 2013-06-03 19:59 ` Heiko Stübner
2013-06-04 4:36 ` Baruch Siach
1 sibling, 1 reply; 6+ messages in thread
From: Heiko Stübner @ 2013-06-03 19:59 UTC (permalink / raw)
To: Jamie Iles
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, John Stultz,
Grant Likely, Thomas Gleixner,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
dw_apb_timer_init used to search the devicetree for matching timer
devices, making calls to it from board files necessary.
Change the dw_apb_timer_init to work with CLOCKSOURCE_OF_DECLARE.
With this change the function gets called once for each timer node
and tracks these number of calls to attach clockevent and clocksource
devices to the nodes.
Also remove the calls to dw_apb_timer_init from all previous users, as
clocksource_of_init is the default for init_time now.
Tested on the upcoming rk3066 code.
Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
Acked-by: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
---
arch/arm/mach-picoxcell/Kconfig | 1 +
arch/arm/mach-picoxcell/common.c | 2 -
arch/arm/mach-socfpga/Kconfig | 1 +
arch/arm/mach-socfpga/socfpga.c | 2 -
drivers/clocksource/dw_apb_timer_of.c | 41 ++++++++++++++++-----------------
include/linux/dw_apb_timer.h | 1 -
6 files changed, 22 insertions(+), 26 deletions(-)
diff --git a/arch/arm/mach-picoxcell/Kconfig b/arch/arm/mach-picoxcell/Kconfig
index 13bae78..3ef6bbe 100644
--- a/arch/arm/mach-picoxcell/Kconfig
+++ b/arch/arm/mach-picoxcell/Kconfig
@@ -6,6 +6,7 @@ config ARCH_PICOXCELL
select CPU_V6K
select DW_APB_TIMER
select DW_APB_TIMER_OF
+ select CLKSRC_OF
select GENERIC_CLOCKEVENTS
select HAVE_TCM
select NO_IOPORT
diff --git a/arch/arm/mach-picoxcell/common.c b/arch/arm/mach-picoxcell/common.c
index 70b441a..7cde042 100644
--- a/arch/arm/mach-picoxcell/common.c
+++ b/arch/arm/mach-picoxcell/common.c
@@ -15,7 +15,6 @@
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
-#include <linux/dw_apb_timer.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
@@ -88,7 +87,6 @@ DT_MACHINE_START(PICOXCELL, "Picochip picoXcell")
.map_io = picoxcell_map_io,
.nr_irqs = NR_IRQS_LEGACY,
.init_irq = irqchip_init,
- .init_time = dw_apb_timer_init,
.init_machine = picoxcell_init_machine,
.dt_compat = picoxcell_dt_match,
.restart = picoxcell_wdt_restart,
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
index 566e804..1c95288 100644
--- a/arch/arm/mach-socfpga/Kconfig
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -9,6 +9,7 @@ config ARCH_SOCFPGA
select CPU_V7
select DW_APB_TIMER
select DW_APB_TIMER_OF
+ select CLKSRC_OF
select GENERIC_CLOCKEVENTS
select GPIO_PL061 if GPIOLIB
select HAVE_ARM_SCU
diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c
index 46a0513..8ea11b47 100644
--- a/arch/arm/mach-socfpga/socfpga.c
+++ b/arch/arm/mach-socfpga/socfpga.c
@@ -14,7 +14,6 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <linux/dw_apb_timer.h>
#include <linux/clk-provider.h>
#include <linux/irqchip.h>
#include <linux/of_address.h>
@@ -120,7 +119,6 @@ DT_MACHINE_START(SOCFPGA, "Altera SOCFPGA")
.smp = smp_ops(socfpga_smp_ops),
.map_io = socfpga_map_io,
.init_irq = socfpga_init_irq,
- .init_time = dw_apb_timer_init,
.init_machine = socfpga_cyclone5_init,
.restart = socfpga_cyclone5_restart,
.dt_compat = altera_dt_match,
diff --git a/drivers/clocksource/dw_apb_timer_of.c b/drivers/clocksource/dw_apb_timer_of.c
index 1964f87..cef5544 100644
--- a/drivers/clocksource/dw_apb_timer_of.c
+++ b/drivers/clocksource/dw_apb_timer_of.c
@@ -133,27 +133,26 @@ static void init_sched_clock(void)
setup_sched_clock(read_sched_clock, 32, sched_rate);
}
-static const struct of_device_id osctimer_ids[] __initconst = {
- { .compatible = "picochip,pc3x2-timer" },
- { .compatible = "snps,dw-apb-timer-osc" },
- {},
-};
-
-void __init dw_apb_timer_init(void)
+static int num_called;
+static void __init dw_apb_timer_init(struct device_node *timer)
{
- struct device_node *event_timer, *source_timer;
-
- event_timer = of_find_matching_node(NULL, osctimer_ids);
- if (!event_timer)
- panic("No timer for clockevent");
- add_clockevent(event_timer);
-
- source_timer = of_find_matching_node(event_timer, osctimer_ids);
- if (!source_timer)
- panic("No timer for clocksource");
- add_clocksource(source_timer);
-
- of_node_put(source_timer);
+ switch (num_called) {
+ case 0:
+ pr_debug("%s: found clockevent timer\n", __func__);
+ add_clockevent(timer);
+ of_node_put(timer);
+ break;
+ case 1:
+ pr_debug("%s: found clocksource timer\n", __func__);
+ add_clocksource(timer);
+ of_node_put(timer);
+ init_sched_clock();
+ break;
+ default:
+ break;
+ }
- init_sched_clock();
+ num_called++;
}
+CLOCKSOURCE_OF_DECLARE(pc3x2_timer, "picochip,pc3x2-timer", dw_apb_timer_init);
+CLOCKSOURCE_OF_DECLARE(apb_timer, "snps,dw-apb-timer-osc", dw_apb_timer_init);
diff --git a/include/linux/dw_apb_timer.h b/include/linux/dw_apb_timer.h
index dd755ce..07261d5 100644
--- a/include/linux/dw_apb_timer.h
+++ b/include/linux/dw_apb_timer.h
@@ -53,5 +53,4 @@ void dw_apb_clocksource_start(struct dw_apb_clocksource *dw_cs);
cycle_t dw_apb_clocksource_read(struct dw_apb_clocksource *dw_cs);
void dw_apb_clocksource_unregister(struct dw_apb_clocksource *dw_cs);
-extern void dw_apb_timer_init(void);
#endif /* __DW_APB_TIMER_H__ */
--
1.7.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] clocksource: dw_apb_timer_of: use clocksource_of_init
2013-06-03 19:59 ` [PATCH 3/3] clocksource: dw_apb_timer_of: use clocksource_of_init Heiko Stübner
@ 2013-06-04 4:36 ` Baruch Siach
2013-06-04 7:57 ` Heiko Stübner
0 siblings, 1 reply; 6+ messages in thread
From: Baruch Siach @ 2013-06-04 4:36 UTC (permalink / raw)
To: Heiko Stübner
Cc: Jamie Iles, Arnd Bergmann, devicetree-discuss, linux-kernel,
Rob Herring, John Stultz, Dinh Nguyen, Grant Likely,
Thomas Gleixner, linux-arm-kernel
Hi Heiko,
On Mon, Jun 03, 2013 at 09:59:55PM +0200, Heiko Stübner wrote:
> dw_apb_timer_init used to search the devicetree for matching timer
> devices, making calls to it from board files necessary.
>
> Change the dw_apb_timer_init to work with CLOCKSOURCE_OF_DECLARE.
> With this change the function gets called once for each timer node
> and tracks these number of calls to attach clockevent and clocksource
> devices to the nodes.
>
> Also remove the calls to dw_apb_timer_init from all previous users, as
> clocksource_of_init is the default for init_time now.
>
> Tested on the upcoming rk3066 code.
>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> Acked-by: Rob Herring <rob.herring@calxeda.com>
> Acked-by: Arnd Bergmann <arnd@arndb.de>
> ---
> arch/arm/mach-picoxcell/Kconfig | 1 +
> arch/arm/mach-picoxcell/common.c | 2 -
> arch/arm/mach-socfpga/Kconfig | 1 +
> arch/arm/mach-socfpga/socfpga.c | 2 -
> drivers/clocksource/dw_apb_timer_of.c | 41 ++++++++++++++++-----------------
> include/linux/dw_apb_timer.h | 1 -
> 6 files changed, 22 insertions(+), 26 deletions(-)
>
> diff --git a/arch/arm/mach-picoxcell/Kconfig b/arch/arm/mach-picoxcell/Kconfig
> index 13bae78..3ef6bbe 100644
> --- a/arch/arm/mach-picoxcell/Kconfig
> +++ b/arch/arm/mach-picoxcell/Kconfig
> @@ -6,6 +6,7 @@ config ARCH_PICOXCELL
> select CPU_V6K
> select DW_APB_TIMER
> select DW_APB_TIMER_OF
> + select CLKSRC_OF
Shouldn't DW_APB_TIMER 'select CLKSRC_OF if OF' instead of selecting is for
each and every platform? While at it we can do the same to DW_APB_TIMER_OF.
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] clocksource: dw_apb_timer_of: use clocksource_of_init
2013-06-04 4:36 ` Baruch Siach
@ 2013-06-04 7:57 ` Heiko Stübner
0 siblings, 0 replies; 6+ messages in thread
From: Heiko Stübner @ 2013-06-04 7:57 UTC (permalink / raw)
To: Baruch Siach
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring, John Stultz,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Grant Likely,
Jamie Iles, Thomas Gleixner
Am Dienstag, 4. Juni 2013, 06:36:20 schrieb Baruch Siach:
> Hi Heiko,
>
> On Mon, Jun 03, 2013 at 09:59:55PM +0200, Heiko Stübner wrote:
> > dw_apb_timer_init used to search the devicetree for matching timer
> > devices, making calls to it from board files necessary.
> >
> > Change the dw_apb_timer_init to work with CLOCKSOURCE_OF_DECLARE.
> > With this change the function gets called once for each timer node
> > and tracks these number of calls to attach clockevent and clocksource
> > devices to the nodes.
> >
> > Also remove the calls to dw_apb_timer_init from all previous users, as
> > clocksource_of_init is the default for init_time now.
> >
> > Tested on the upcoming rk3066 code.
> >
> > Signed-off-by: Heiko Stuebner <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
> > Acked-by: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
> > Acked-by: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
> > ---
> >
> > arch/arm/mach-picoxcell/Kconfig | 1 +
> > arch/arm/mach-picoxcell/common.c | 2 -
> > arch/arm/mach-socfpga/Kconfig | 1 +
> > arch/arm/mach-socfpga/socfpga.c | 2 -
> > drivers/clocksource/dw_apb_timer_of.c | 41
> > ++++++++++++++++----------------- include/linux/dw_apb_timer.h
> > | 1 -
> > 6 files changed, 22 insertions(+), 26 deletions(-)
> >
> > diff --git a/arch/arm/mach-picoxcell/Kconfig
> > b/arch/arm/mach-picoxcell/Kconfig index 13bae78..3ef6bbe 100644
> > --- a/arch/arm/mach-picoxcell/Kconfig
> > +++ b/arch/arm/mach-picoxcell/Kconfig
> > @@ -6,6 +6,7 @@ config ARCH_PICOXCELL
> >
> > select CPU_V6K
> > select DW_APB_TIMER
> > select DW_APB_TIMER_OF
> >
> > + select CLKSRC_OF
>
> Shouldn't DW_APB_TIMER 'select CLKSRC_OF if OF' instead of selecting is for
> each and every platform? While at it we can do the same to DW_APB_TIMER_OF.
if anything DW_APB_TIMER_OF should select both DW_APB_TIMER and 'CLKSRC_OF if
OF', as the base DW_APB_TIMER_OF is the platform glue, that uses DW_APB_TIMER
internally.
But otherwise sounds sensible to not duplicate these selects everywhere.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-06-04 7:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-03 19:57 [PATCH 0/3] dw_apb_timer: osc as sched_clock, clocks and clocksource_of support Heiko Stübner
[not found] ` <201306032157.40488.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
2013-06-03 19:58 ` [PATCH 1/3] clocksource: dw_apb_timer_of: use the clocksource as sched clock if necessary Heiko Stübner
2013-06-03 19:59 ` [PATCH 3/3] clocksource: dw_apb_timer_of: use clocksource_of_init Heiko Stübner
2013-06-04 4:36 ` Baruch Siach
2013-06-04 7:57 ` Heiko Stübner
2013-06-03 19:58 ` [PATCH 2/3] clocksource: dw_apb_timer_of: add clock-handling Heiko Stübner
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).