at v4.14-rc8 35 lines 797 B view raw
1// SPDX-License-Identifier: GPL-2.0 2#include <linux/fs.h> 3#include <linux/init.h> 4#include <linux/kernel.h> 5#include <linux/proc_fs.h> 6#include <linux/seq_file.h> 7#include <linux/utsname.h> 8 9static int version_proc_show(struct seq_file *m, void *v) 10{ 11 seq_printf(m, linux_proc_banner, 12 utsname()->sysname, 13 utsname()->release, 14 utsname()->version); 15 return 0; 16} 17 18static int version_proc_open(struct inode *inode, struct file *file) 19{ 20 return single_open(file, version_proc_show, NULL); 21} 22 23static const struct file_operations version_proc_fops = { 24 .open = version_proc_open, 25 .read = seq_read, 26 .llseek = seq_lseek, 27 .release = single_release, 28}; 29 30static int __init proc_version_init(void) 31{ 32 proc_create("version", 0, NULL, &version_proc_fops); 33 return 0; 34} 35fs_initcall(proc_version_init);