xref: /openbmc/linux/drivers/scsi/scsi_sysctl.c (revision 592749e4)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  * Copyright (C) 2003 Christoph Hellwig.
31da177e4SLinus Torvalds  *	Released under GPL v2.
41da177e4SLinus Torvalds  */
51da177e4SLinus Torvalds 
61da177e4SLinus Torvalds #include <linux/errno.h>
71da177e4SLinus Torvalds #include <linux/init.h>
81da177e4SLinus Torvalds #include <linux/kernel.h>
91da177e4SLinus Torvalds #include <linux/sysctl.h>
101da177e4SLinus Torvalds 
111da177e4SLinus Torvalds #include "scsi_logging.h"
1244818efbSAdrian Bunk #include "scsi_priv.h"
131da177e4SLinus Torvalds 
141da177e4SLinus Torvalds 
15592749e4SJoe Perches static struct ctl_table scsi_table[] = {
16894d2491SEric W. Biederman 	{ .procname	= "logging_level",
171da177e4SLinus Torvalds 	  .data		= &scsi_logging_level,
181da177e4SLinus Torvalds 	  .maxlen	= sizeof(scsi_logging_level),
191da177e4SLinus Torvalds 	  .mode		= 0644,
206d456111SEric W. Biederman 	  .proc_handler	= proc_dointvec },
211da177e4SLinus Torvalds 	{ }
221da177e4SLinus Torvalds };
231da177e4SLinus Torvalds 
24592749e4SJoe Perches static struct ctl_table scsi_dir_table[] = {
25894d2491SEric W. Biederman 	{ .procname	= "scsi",
261da177e4SLinus Torvalds 	  .mode		= 0555,
271da177e4SLinus Torvalds 	  .child	= scsi_table },
281da177e4SLinus Torvalds 	{ }
291da177e4SLinus Torvalds };
301da177e4SLinus Torvalds 
31592749e4SJoe Perches static struct ctl_table scsi_root_table[] = {
32894d2491SEric W. Biederman 	{ .procname	= "dev",
331da177e4SLinus Torvalds 	  .mode		= 0555,
341da177e4SLinus Torvalds 	  .child	= scsi_dir_table },
351da177e4SLinus Torvalds 	{ }
361da177e4SLinus Torvalds };
371da177e4SLinus Torvalds 
381da177e4SLinus Torvalds static struct ctl_table_header *scsi_table_header;
391da177e4SLinus Torvalds 
401da177e4SLinus Torvalds int __init scsi_init_sysctl(void)
411da177e4SLinus Torvalds {
420b4d4147SEric W. Biederman 	scsi_table_header = register_sysctl_table(scsi_root_table);
431da177e4SLinus Torvalds 	if (!scsi_table_header)
441da177e4SLinus Torvalds 		return -ENOMEM;
451da177e4SLinus Torvalds 	return 0;
461da177e4SLinus Torvalds }
471da177e4SLinus Torvalds 
481da177e4SLinus Torvalds void scsi_exit_sysctl(void)
491da177e4SLinus Torvalds {
501da177e4SLinus Torvalds 	unregister_sysctl_table(scsi_table_header);
511da177e4SLinus Torvalds }
52