[S390] time: convert from bootmem to slab
The slab allocator is earlier available so convert the bootmem allocations to slab/gfp allocations. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>hifive-unleashed-5.1
parent
f234012f52
commit
d7d1104fa4
|
@ -36,7 +36,6 @@
|
||||||
#include <linux/notifier.h>
|
#include <linux/notifier.h>
|
||||||
#include <linux/clocksource.h>
|
#include <linux/clocksource.h>
|
||||||
#include <linux/clockchips.h>
|
#include <linux/clockchips.h>
|
||||||
#include <linux/bootmem.h>
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/delay.h>
|
#include <asm/delay.h>
|
||||||
#include <asm/s390_ext.h>
|
#include <asm/s390_ext.h>
|
||||||
|
@ -62,9 +61,6 @@
|
||||||
|
|
||||||
u64 sched_clock_base_cc = -1; /* Force to data section. */
|
u64 sched_clock_base_cc = -1; /* Force to data section. */
|
||||||
|
|
||||||
static ext_int_info_t ext_int_info_cc;
|
|
||||||
static ext_int_info_t ext_int_etr_cc;
|
|
||||||
|
|
||||||
static DEFINE_PER_CPU(struct clock_event_device, comparators);
|
static DEFINE_PER_CPU(struct clock_event_device, comparators);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -255,15 +251,11 @@ void __init time_init(void)
|
||||||
stp_reset();
|
stp_reset();
|
||||||
|
|
||||||
/* request the clock comparator external interrupt */
|
/* request the clock comparator external interrupt */
|
||||||
if (register_early_external_interrupt(0x1004,
|
if (register_external_interrupt(0x1004, clock_comparator_interrupt))
|
||||||
clock_comparator_interrupt,
|
|
||||||
&ext_int_info_cc) != 0)
|
|
||||||
panic("Couldn't request external interrupt 0x1004");
|
panic("Couldn't request external interrupt 0x1004");
|
||||||
|
|
||||||
/* request the timing alert external interrupt */
|
/* request the timing alert external interrupt */
|
||||||
if (register_early_external_interrupt(0x1406,
|
if (register_external_interrupt(0x1406, timing_alert_interrupt))
|
||||||
timing_alert_interrupt,
|
|
||||||
&ext_int_etr_cc) != 0)
|
|
||||||
panic("Couldn't request external interrupt 0x1406");
|
panic("Couldn't request external interrupt 0x1406");
|
||||||
|
|
||||||
if (clocksource_register(&clocksource_tod) != 0)
|
if (clocksource_register(&clocksource_tod) != 0)
|
||||||
|
@ -1445,14 +1437,14 @@ static void __init stp_reset(void)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
stp_page = alloc_bootmem_pages(PAGE_SIZE);
|
stp_page = (void *) get_zeroed_page(GFP_ATOMIC);
|
||||||
rc = chsc_sstpc(stp_page, STP_OP_CTRL, 0x0000);
|
rc = chsc_sstpc(stp_page, STP_OP_CTRL, 0x0000);
|
||||||
if (rc == 0)
|
if (rc == 0)
|
||||||
set_bit(CLOCK_SYNC_HAS_STP, &clock_sync_flags);
|
set_bit(CLOCK_SYNC_HAS_STP, &clock_sync_flags);
|
||||||
else if (stp_online) {
|
else if (stp_online) {
|
||||||
pr_warning("The real or virtual hardware system does "
|
pr_warning("The real or virtual hardware system does "
|
||||||
"not provide an STP interface\n");
|
"not provide an STP interface\n");
|
||||||
free_bootmem((unsigned long) stp_page, PAGE_SIZE);
|
free_page((unsigned long) stp_page);
|
||||||
stp_page = NULL;
|
stp_page = NULL;
|
||||||
stp_online = 0;
|
stp_online = 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,6 @@
|
||||||
#include <asm/irq_regs.h>
|
#include <asm/irq_regs.h>
|
||||||
#include <asm/cputime.h>
|
#include <asm/cputime.h>
|
||||||
|
|
||||||
static ext_int_info_t ext_int_info_timer;
|
|
||||||
|
|
||||||
static DEFINE_PER_CPU(struct vtimer_queue, virt_cpu_timer);
|
static DEFINE_PER_CPU(struct vtimer_queue, virt_cpu_timer);
|
||||||
|
|
||||||
DEFINE_PER_CPU(struct s390_idle_data, s390_idle) = {
|
DEFINE_PER_CPU(struct s390_idle_data, s390_idle) = {
|
||||||
|
@ -557,8 +555,7 @@ void init_cpu_vtimer(void)
|
||||||
void __init vtime_init(void)
|
void __init vtime_init(void)
|
||||||
{
|
{
|
||||||
/* request the cpu timer external interrupt */
|
/* request the cpu timer external interrupt */
|
||||||
if (register_early_external_interrupt(0x1005, do_cpu_timer_interrupt,
|
if (register_external_interrupt(0x1005, do_cpu_timer_interrupt))
|
||||||
&ext_int_info_timer) != 0)
|
|
||||||
panic("Couldn't request external interrupt 0x1005");
|
panic("Couldn't request external interrupt 0x1005");
|
||||||
|
|
||||||
/* Enable cpu timer interrupts on the boot cpu. */
|
/* Enable cpu timer interrupts on the boot cpu. */
|
||||||
|
|
Loading…
Reference in New Issue