xref: /openbmc/linux/fs/proc/version.c (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0
2b457d151SAlexey Dobriyan #include <linux/fs.h>
3b457d151SAlexey Dobriyan #include <linux/init.h>
4b457d151SAlexey Dobriyan #include <linux/kernel.h>
5b457d151SAlexey Dobriyan #include <linux/proc_fs.h>
6b457d151SAlexey Dobriyan #include <linux/seq_file.h>
7b457d151SAlexey Dobriyan #include <linux/utsname.h>
8*ef1d6178SAlexey Dobriyan #include "internal.h"
9b457d151SAlexey Dobriyan 
version_proc_show(struct seq_file * m,void * v)10b457d151SAlexey Dobriyan static int version_proc_show(struct seq_file *m, void *v)
11b457d151SAlexey Dobriyan {
12b457d151SAlexey Dobriyan 	seq_printf(m, linux_proc_banner,
13b457d151SAlexey Dobriyan 		utsname()->sysname,
14b457d151SAlexey Dobriyan 		utsname()->release,
15b457d151SAlexey Dobriyan 		utsname()->version);
16b457d151SAlexey Dobriyan 	return 0;
17b457d151SAlexey Dobriyan }
18b457d151SAlexey Dobriyan 
proc_version_init(void)19b457d151SAlexey Dobriyan static int __init proc_version_init(void)
20b457d151SAlexey Dobriyan {
21*ef1d6178SAlexey Dobriyan 	struct proc_dir_entry *pde;
22*ef1d6178SAlexey Dobriyan 
23*ef1d6178SAlexey Dobriyan 	pde = proc_create_single("version", 0, NULL, version_proc_show);
24*ef1d6178SAlexey Dobriyan 	pde_make_permanent(pde);
25b457d151SAlexey Dobriyan 	return 0;
26b457d151SAlexey Dobriyan }
27abaf3787SPaul Gortmaker fs_initcall(proc_version_init);
28