1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun #include <linux/fs.h> 3*4882a593Smuzhiyun #include <linux/init.h> 4*4882a593Smuzhiyun #include <linux/kernel.h> 5*4882a593Smuzhiyun #include <linux/proc_fs.h> 6*4882a593Smuzhiyun #include <linux/seq_file.h> 7*4882a593Smuzhiyun #include <linux/utsname.h> 8*4882a593Smuzhiyun version_proc_show(struct seq_file * m,void * v)9*4882a593Smuzhiyunstatic int version_proc_show(struct seq_file *m, void *v) 10*4882a593Smuzhiyun { 11*4882a593Smuzhiyun seq_printf(m, linux_proc_banner, 12*4882a593Smuzhiyun utsname()->sysname, 13*4882a593Smuzhiyun utsname()->release, 14*4882a593Smuzhiyun utsname()->version); 15*4882a593Smuzhiyun return 0; 16*4882a593Smuzhiyun } 17*4882a593Smuzhiyun proc_version_init(void)18*4882a593Smuzhiyunstatic int __init proc_version_init(void) 19*4882a593Smuzhiyun { 20*4882a593Smuzhiyun proc_create_single("version", 0, NULL, version_proc_show); 21*4882a593Smuzhiyun return 0; 22*4882a593Smuzhiyun } 23*4882a593Smuzhiyun fs_initcall(proc_version_init); 24