mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
s390/delay: remove udelay_simple()
udelay_simple() callers can make use of the now simplified udelay() implementation. No need to keep it. Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
9ceed9988a
commit
e0d62dcb20
@ -13,10 +13,8 @@
|
||||
#ifndef _S390_DELAY_H
|
||||
#define _S390_DELAY_H
|
||||
|
||||
void udelay_enable(void);
|
||||
void __ndelay(unsigned long nsecs);
|
||||
void __udelay(unsigned long usecs);
|
||||
void udelay_simple(unsigned long usecs);
|
||||
void __delay(unsigned long loops);
|
||||
|
||||
#define ndelay(n) __ndelay((unsigned long)(n))
|
||||
|
@ -1512,7 +1512,7 @@ static void diag308_dump(void *dump_block)
|
||||
while (1) {
|
||||
if (diag308(DIAG308_LOAD_NORMAL_DUMP, NULL) != 0x302)
|
||||
break;
|
||||
udelay_simple(USEC_PER_SEC);
|
||||
udelay(USEC_PER_SEC);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -335,7 +335,6 @@ int __init arch_early_irq_init(void)
|
||||
if (!stack)
|
||||
panic("Couldn't allocate async stack");
|
||||
S390_lowcore.async_stack = stack + STACK_INIT_OFFSET;
|
||||
udelay_enable();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -19,13 +19,6 @@
|
||||
#include <asm/div64.h>
|
||||
#include <asm/idle.h>
|
||||
|
||||
static DEFINE_STATIC_KEY_FALSE(udelay_ready);
|
||||
|
||||
void __init udelay_enable(void)
|
||||
{
|
||||
static_branch_enable(&udelay_ready);
|
||||
}
|
||||
|
||||
void __delay(unsigned long loops)
|
||||
{
|
||||
/*
|
||||
@ -39,40 +32,25 @@ void __delay(unsigned long loops)
|
||||
}
|
||||
EXPORT_SYMBOL(__delay);
|
||||
|
||||
static void delay_loop(unsigned long delta, bool simple)
|
||||
static void delay_loop(unsigned long delta)
|
||||
{
|
||||
unsigned long end;
|
||||
|
||||
if (static_branch_likely(&udelay_ready) && !simple) {
|
||||
end = get_tod_clock_monotonic() + delta;
|
||||
while (!tod_after(get_tod_clock_monotonic(), end))
|
||||
cpu_relax();
|
||||
} else {
|
||||
end = get_tod_clock() + delta;
|
||||
while (!tod_after(get_tod_clock(), end))
|
||||
cpu_relax();
|
||||
}
|
||||
end = get_tod_clock_monotonic() + delta;
|
||||
while (!tod_after(get_tod_clock_monotonic(), end))
|
||||
cpu_relax();
|
||||
}
|
||||
|
||||
void __udelay(unsigned long usecs)
|
||||
{
|
||||
delay_loop(usecs << 12, 0);
|
||||
delay_loop(usecs << 12);
|
||||
}
|
||||
EXPORT_SYMBOL(__udelay);
|
||||
|
||||
/*
|
||||
* Simple udelay variant. To be used on startup and reboot
|
||||
* when the interrupt handler isn't working.
|
||||
*/
|
||||
void udelay_simple(unsigned long usecs)
|
||||
{
|
||||
delay_loop(usecs << 12, 1);
|
||||
}
|
||||
|
||||
void __ndelay(unsigned long nsecs)
|
||||
{
|
||||
nsecs <<= 9;
|
||||
do_div(nsecs, 125);
|
||||
delay_loop(nsecs, 0);
|
||||
delay_loop(nsecs);
|
||||
}
|
||||
EXPORT_SYMBOL(__ndelay);
|
||||
|
@ -1668,7 +1668,7 @@ void ccw_device_wait_idle(struct ccw_device *cdev)
|
||||
cio_tsch(sch);
|
||||
if (sch->schib.scsw.cmd.actl == 0)
|
||||
break;
|
||||
udelay_simple(100);
|
||||
udelay(100);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user