Remove CONFIG_PM dependency from au1x wait in cpu_probe.
Additional work necessary to completely remove that config option. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
@@ -51,29 +51,25 @@ static void r4k_wait(void)
|
||||
".set\tmips0");
|
||||
}
|
||||
|
||||
/*
|
||||
* The Au1xxx wait is available only if we run CONFIG_PM and
|
||||
* the timer setup found we had a 32KHz counter available.
|
||||
* There are still problems with functions that may call au1k_wait
|
||||
* directly, but that will be discovered pretty quickly.
|
||||
*/
|
||||
extern void (*au1k_wait_ptr)(void);
|
||||
|
||||
void au1k_wait(void)
|
||||
/* The Au1xxx wait is available only if using 32khz counter or
|
||||
* external timer source, but specifically not CP0 Counter. */
|
||||
static void au1k_wait(void)
|
||||
{
|
||||
#ifdef CONFIG_PM
|
||||
unsigned long addr;
|
||||
/* using the wait instruction makes CP0 counter unusable */
|
||||
__asm__(".set\tmips3\n\t"
|
||||
__asm__("la %0,au1k_wait\n\t"
|
||||
".set mips3\n\t"
|
||||
"cache 0x14,0(%0)\n\t"
|
||||
"cache 0x14,32(%0)\n\t"
|
||||
"sync\n\t"
|
||||
"nop\n\t"
|
||||
"wait\n\t"
|
||||
"nop\n\t"
|
||||
"nop\n\t"
|
||||
"nop\n\t"
|
||||
"nop\n\t"
|
||||
".set\tmips0");
|
||||
#else
|
||||
__asm__("nop\n\t"
|
||||
"nop");
|
||||
#endif
|
||||
".set mips0\n\t"
|
||||
: : "r" (addr));
|
||||
}
|
||||
|
||||
static inline void check_wait(void)
|
||||
@@ -112,21 +108,20 @@ static inline void check_wait(void)
|
||||
cpu_wait = r4k_wait;
|
||||
printk(" available.\n");
|
||||
break;
|
||||
#ifdef CONFIG_PM
|
||||
case CPU_AU1000:
|
||||
case CPU_AU1100:
|
||||
case CPU_AU1500:
|
||||
case CPU_AU1550:
|
||||
case CPU_AU1200:
|
||||
if (au1k_wait_ptr != NULL) {
|
||||
cpu_wait = au1k_wait_ptr;
|
||||
printk(" available.\n");
|
||||
}
|
||||
else {
|
||||
printk(" unavailable.\n");
|
||||
{
|
||||
extern int allow_au1k_wait; /* au1000/common/time.c */
|
||||
if (allow_au1k_wait) {
|
||||
cpu_wait = au1k_wait;
|
||||
printk(" available.\n");
|
||||
} else
|
||||
printk(" unavailable.\n");
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
printk(" unavailable.\n");
|
||||
break;
|
||||
|
Reference in New Issue
Block a user