Commit e4fb3a28 authored by Tony Lindgren's avatar Tony Lindgren

Fix CONFIG_PRINTK_TIME

Fix CONFIG_PRINTK_TIME hangs on systems where sched_clock() does
not work before timer is initialized.

For example, on OMAP, symptoms of this problem include system
only booting with low level debug enabled when using 32KHz timer.
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 99c537d1
......@@ -435,11 +435,23 @@ static void zap_locks(void)
init_MUTEX(&console_sem);
}
#if defined(CONFIG_PRINTK_TIME)
static int printk_time = 1;
#else
static int printk_time = 0;
#endif
#ifdef CONFIG_PRINTK_TIME
/*
* Initialize printk time. Note that on some systems sched_clock()
* does not work until timer is initialized.
*/
static int __init printk_time_init(void)
{
printk_time = 1;
return 0;
}
subsys_initcall(printk_time_init);
#else
static int __init printk_time_setup(char *str)
{
......@@ -451,6 +463,8 @@ static int __init printk_time_setup(char *str)
__setup("time", printk_time_setup);
#endif
__attribute__((weak)) unsigned long long printk_clock(void)
{
return sched_clock();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment