159bd9dedSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds /* 31da177e4SLinus Torvalds * Copyright (C) 2003 Christoph Hellwig. 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 241da177e4SLinus Torvalds static struct ctl_table_header *scsi_table_header; 251da177e4SLinus Torvalds scsi_init_sysctl(void)261da177e4SLinus Torvaldsint __init scsi_init_sysctl(void) 271da177e4SLinus Torvalds { 28*ca674057SLuis Chamberlain scsi_table_header = register_sysctl("dev/scsi", scsi_table); 291da177e4SLinus Torvalds if (!scsi_table_header) 301da177e4SLinus Torvalds return -ENOMEM; 311da177e4SLinus Torvalds return 0; 321da177e4SLinus Torvalds } 331da177e4SLinus Torvalds scsi_exit_sysctl(void)341da177e4SLinus Torvaldsvoid scsi_exit_sysctl(void) 351da177e4SLinus Torvalds { 361da177e4SLinus Torvalds unregister_sysctl_table(scsi_table_header); 371da177e4SLinus Torvalds } 38