/* * Copyright (C) 2012 Regents of the University of California * Copyright (C) 2017 SiFive */#include <linux/clocksource.h>#include <linux/delay.h>#include <asm/sbi.h>unsignedlongriscv_timebase;void__inittime_init(void){structdevice_node*cpu;u32prop;cpu=of_find_node_by_path("/cpus");if(!cpu||of_property_read_u32(cpu,"timebase-frequency",&prop))panic(KERN_WARNING"RISC-V system with no 'timebase-frequency' in DTS\n");