diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2020-12-14 23:44:39 +0300 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2020-12-16 16:55:49 +0300 |
commit | e0d62dcb20beac18a412ef9355208d9058c674d3 (patch) | |
tree | d94f602db4750b34b5710711ec6ba611cb0b8a71 | |
parent | 9ceed9988a8e6a1656ed2bdaa30501cf0f3dd925 (diff) |
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>
-rw-r--r-- | arch/s390/include/asm/delay.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/ipl.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/setup.c | 1 | ||||
-rw-r--r-- | arch/s390/lib/delay.c | 34 | ||||
-rw-r--r-- | drivers/s390/cio/device.c | 2 |
5 files changed, 8 insertions, 33 deletions
diff --git a/arch/s390/include/asm/delay.h b/arch/s390/include/asm/delay.h index b566be6f13f3..21a8fe18fe66 100644 --- a/arch/s390/include/asm/delay.h +++ b/arch/s390/include/asm/delay.h @@ -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)) diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index 98b3aca1de8e..7a21eca498aa 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c @@ -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); } } diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 1f16a03be995..1fbed91c73bc 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -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; } diff --git a/arch/s390/lib/delay.c b/arch/s390/lib/delay.c index 928b1dbe182c..f289afeb3f31 100644 --- a/arch/s390/lib/delay.c +++ b/arch/s390/lib/delay.c @@ -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); diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index e0005a4fc978..9e3c8b4e7fa8 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -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 |