time.c (cdd5b5a9761fd66d17586e4f4ba6588c70e640ea) time.c (323925ed6dbb0ed877047b28fae4152527cc63db)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012 Regents of the University of California
4 * Copyright (C) 2017 SiFive
5 */
6
7#include <linux/acpi.h>
8#include <linux/of_clk.h>
9#include <linux/clockchips.h>
10#include <linux/clocksource.h>
11#include <linux/delay.h>
12#include <asm/sbi.h>
13#include <asm/processor.h>
14#include <asm/timex.h>
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012 Regents of the University of California
4 * Copyright (C) 2017 SiFive
5 */
6
7#include <linux/acpi.h>
8#include <linux/of_clk.h>
9#include <linux/clockchips.h>
10#include <linux/clocksource.h>
11#include <linux/delay.h>
12#include <asm/sbi.h>
13#include <asm/processor.h>
14#include <asm/timex.h>
15#include <asm/paravirt.h>
15
16unsigned long riscv_timebase __ro_after_init;
17EXPORT_SYMBOL_GPL(riscv_timebase);
18
19void __init time_init(void)
20{
21 struct device_node *cpu;
22 struct acpi_table_rhct *rhct;

--- 17 unchanged lines hidden (view full) ---

40 acpi_put_table((struct acpi_table_header *)rhct);
41 }
42
43 lpj_fine = riscv_timebase / HZ;
44
45 timer_probe();
46
47 tick_setup_hrtimer_broadcast();
16
17unsigned long riscv_timebase __ro_after_init;
18EXPORT_SYMBOL_GPL(riscv_timebase);
19
20void __init time_init(void)
21{
22 struct device_node *cpu;
23 struct acpi_table_rhct *rhct;

--- 17 unchanged lines hidden (view full) ---

41 acpi_put_table((struct acpi_table_header *)rhct);
42 }
43
44 lpj_fine = riscv_timebase / HZ;
45
46 timer_probe();
47
48 tick_setup_hrtimer_broadcast();
49
50 pv_time_init();
48}
51}