Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-2.0-only 2 : : /* 3 : : * Copyright (C) 2003 Christoph Hellwig. 4 : : */ 5 : : 6 : : #include <linux/errno.h> 7 : : #include <linux/init.h> 8 : : #include <linux/kernel.h> 9 : : #include <linux/sysctl.h> 10 : : 11 : : #include "scsi_logging.h" 12 : : #include "scsi_priv.h" 13 : : 14 : : 15 : : static struct ctl_table scsi_table[] = { 16 : : { .procname = "logging_level", 17 : : .data = &scsi_logging_level, 18 : : .maxlen = sizeof(scsi_logging_level), 19 : : .mode = 0644, 20 : : .proc_handler = proc_dointvec }, 21 : : { } 22 : : }; 23 : : 24 : : static struct ctl_table scsi_dir_table[] = { 25 : : { .procname = "scsi", 26 : : .mode = 0555, 27 : : .child = scsi_table }, 28 : : { } 29 : : }; 30 : : 31 : : static struct ctl_table scsi_root_table[] = { 32 : : { .procname = "dev", 33 : : .mode = 0555, 34 : : .child = scsi_dir_table }, 35 : : { } 36 : : }; 37 : : 38 : : static struct ctl_table_header *scsi_table_header; 39 : : 40 : 21 : int __init scsi_init_sysctl(void) 41 : : { 42 : 21 : scsi_table_header = register_sysctl_table(scsi_root_table); 43 [ - + ]: 21 : if (!scsi_table_header) 44 : 0 : return -ENOMEM; 45 : : return 0; 46 : : } 47 : : 48 : 0 : void scsi_exit_sysctl(void) 49 : : { 50 : 0 : unregister_sysctl_table(scsi_table_header); 51 : 0 : }