On Fri, 12 Oct 2012, Dan Murphy wrote: > > On 10/12/2012 09:01 AM, Lee Jones wrote: > >On Fri, 12 Oct 2012, Arnd Bergmann wrote: > > > >>On Friday 12 October 2012, Russell King - ARM Linux wrote: > >>>>root@ME:/ cat /sys/kernel/debug/boottime/bootgraph > >>>>[ 0.185254] calling splash+0x0/0x0 > >>>>[ 2.984335] initcall splash+0x0/0x0 returned 0 after 2799 msecs. > >>>>[ 2.984335] calling autoboot_delay+0x0/0x0 > >>>>[ 4.089513] initcall autoboot_delay+0x0/0x0 returned 0 after 1105 > >>>>msecs. > >>>>[ 4.089513] calling load_kernel+0x0/0x0 > >>>>[ 4.239174] initcall load_kernel+0x0/0x0 returned 0 after 149 msecs. > >>>>[ 4.239174] calling boot_kernel+0x0/0x0 > >>>>[ 4.276260] initcall boot_kernel+0x0/0x0 returned 0 after 37 msecs. > >>>>[ 4.276260] calling uncompress_ll_init+0x0/0x0 > >>>>[ 4.276260] initcall uncompress_ll_init+0x0/0x0 returned 0 after 0 > >>>>msecs. > >>>>[ 4.276260] Freeing init memory: 0K > >>>Umm, what happened to sysfs not becoming procfs v2? I thought we had > >>>a fairly strict requirement for "one value per file and not nicely > >>>formatted" for sysfs? > >>> > >>I was thinking the same thing at first, but then I noticed it's actually > >>debugfs, which has no such rules. > >Right. :) > > > OK I don't see when boottime_activate is called. > > Where would this call actually be made from? > > I see the call to deactivate but no call to activate.
Here perhaps (Jonas, alerted me to the missing patch): commit 4c49a18bcfd2d041cbad7f41c6e6b39d90008382 (HEAD, refs/heads/dt-snowball-pre-rc1) Author: Jonas Aaberg <[email protected]> Date: Wed Sep 14 09:29:20 2011 +0200 drivers: clocksource: dbx500-prcmu: Add boottime support Change-Id: I9b5e3d050131c08c08786ae84cb76619c0525049 Signed-off-by: Jonas Aaberg <[email protected]> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32055 diff --git a/drivers/clocksource/clksrc-dbx500-prcmu.c b/drivers/clocksource/clksrc-dbx500-prcmu.c index c26c369..0069cd9 100644 --- a/drivers/clocksource/clksrc-dbx500-prcmu.c +++ b/drivers/clocksource/clksrc-dbx500-prcmu.c @@ -14,6 +14,7 @@ */ #include <linux/clockchips.h> #include <linux/clksrc-dbx500-prcmu.h> +#include <linux/boottime.h> #include <asm/sched_clock.h> @@ -68,6 +69,23 @@ static u32 notrace dbx500_prcmu_sched_clock_read(void) #endif +#ifdef CONFIG_BOOTTIME +static unsigned long __init boottime_get_time(void) +{ + return div_s64(clocksource_cyc2ns(clocksource_dbx500_prcmu.read( + &clocksource_dbx500_prcmu), + clocksource_dbx500_prcmu.mult, + clocksource_dbx500_prcmu.shift), + 1000); +} + +static struct boottime_timer __initdata boottime_timer = { + .init = NULL, + .get_time = boottime_get_time, + .finalize = NULL, +}; +#endif + void __init clksrc_dbx500_prcmu_init(void __iomem *base) { clksrc_dbx500_timer_base = base; @@ -90,4 +108,6 @@ void __init clksrc_dbx500_prcmu_init(void __iomem *base) 32, RATE_32K); #endif clocksource_register_hz(&clocksource_dbx500_prcmu, RATE_32K); + + boottime_activate(&boottime_timer); } -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

