xref: /openbmc/linux/drivers/scsi/scsi_sysctl.c (revision 0b4d4147)
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"
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds 
141da177e4SLinus Torvalds static ctl_table scsi_table[] = {
151da177e4SLinus Torvalds 	{ .ctl_name	= DEV_SCSI_LOGGING_LEVEL,
161da177e4SLinus Torvalds 	  .procname	= "logging_level",
171da177e4SLinus Torvalds 	  .data		= &scsi_logging_level,
181da177e4SLinus Torvalds 	  .maxlen	= sizeof(scsi_logging_level),
191da177e4SLinus Torvalds 	  .mode		= 0644,
201da177e4SLinus Torvalds 	  .proc_handler	= &proc_dointvec },
211da177e4SLinus Torvalds 	{ }
221da177e4SLinus Torvalds };
231da177e4SLinus Torvalds 
241da177e4SLinus Torvalds static ctl_table scsi_dir_table[] = {
251da177e4SLinus Torvalds 	{ .ctl_name	= DEV_SCSI,
261da177e4SLinus Torvalds 	  .procname	= "scsi",
271da177e4SLinus Torvalds 	  .mode		= 0555,
281da177e4SLinus Torvalds 	  .child	= scsi_table },
291da177e4SLinus Torvalds 	{ }
301da177e4SLinus Torvalds };
311da177e4SLinus Torvalds 
321da177e4SLinus Torvalds static ctl_table scsi_root_table[] = {
331da177e4SLinus Torvalds 	{ .ctl_name	= CTL_DEV,
341da177e4SLinus Torvalds 	  .procname	= "dev",
351da177e4SLinus Torvalds 	  .mode		= 0555,
361da177e4SLinus Torvalds 	  .child	= scsi_dir_table },
371da177e4SLinus Torvalds 	{ }
381da177e4SLinus Torvalds };
391da177e4SLinus Torvalds 
401da177e4SLinus Torvalds static struct ctl_table_header *scsi_table_header;
411da177e4SLinus Torvalds 
421da177e4SLinus Torvalds int __init scsi_init_sysctl(void)
431da177e4SLinus Torvalds {
440b4d4147SEric W. Biederman 	scsi_table_header = register_sysctl_table(scsi_root_table);
451da177e4SLinus Torvalds 	if (!scsi_table_header)
461da177e4SLinus Torvalds 		return -ENOMEM;
471da177e4SLinus Torvalds 	return 0;
481da177e4SLinus Torvalds }
491da177e4SLinus Torvalds 
501da177e4SLinus Torvalds void scsi_exit_sysctl(void)
511da177e4SLinus Torvalds {
521da177e4SLinus Torvalds 	unregister_sysctl_table(scsi_table_header);
531da177e4SLinus Torvalds }
54