#include #include #include #include #include #include #include #include static int uptime_proc_show(struct seq_file *m, void *v) { struct timespec uptime; struct timespec idle; u64 idletime; u64 nsec; u32 rem; int i; idletime = 0; for_each_possible_cpu(i) idletime += (__force u64) kcpustat_cpu(i).cpustat[CPUTIME_IDLE]; get_monotonic_boottime(&uptime); nsec = cputime64_to_jiffies64(idletime) * TICK_NSEC; idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem); idle.tv_nsec = rem; seq_printf(m, "%lu.%02lu %lu.%02lu\n", (unsigned long) uptime.tv_sec, (uptime.tv_nsec / (NSEC_PER_SEC / 100)), (unsigned long) idle.tv_sec, (idle.tv_nsec / (NSEC_PER_SEC / 100))); return 0; } static int uptime_proc_open(struct inode *inode, struct file *file) { return single_open(file, uptime_proc_show, NULL); } static const struct file_operations uptime_proc_fops = { .open = uptime_proc_open, .read = seq_read, .llseek = seq_lseek, .release = single_release, }; static int __init proc_uptime_init(void) { proc_create("uptime", 0, NULL, &uptime_proc_fops); return 0; } fs_initcall(proc_uptime_init); /option> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAubrey Li <aubrey.li@linux.intel.com>2016-03-31 14:28:09 -0500
committerDarren Hart <dvhart@linux.intel.com>2016-04-19 13:51:41 -0700
commit5d07163334ba016c053b033cd0bb3c92d7dc0229 (patch)
tree2e67c38ce79b0a4906dffe9ff89db1eed87bc7de /Documentation
parenta7718360d91eedbedd58978ec8fff4a67a866f86 (diff)
platform:x86 decouple telemetry driver from the optional IPC resources
Currently the optional IPC resources prevent telemetry driver from probing if these resources are not in ACPI table. This patch decouples telemetry driver from these optional resources, so that telemetry driver has dependency only on the necessary ACPI resources. Signed-off-by: Aubrey Li <aubrey.li@linux.intel.com> Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Diffstat (limited to 'Documentation')