linux/drivers/scsi/scsi_sysctl.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   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
  15static 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
  24static struct ctl_table scsi_dir_table[] = {
  25        { .procname     = "scsi",
  26          .mode         = 0555,
  27          .child        = scsi_table },
  28        { }
  29};
  30
  31static struct ctl_table scsi_root_table[] = {
  32        { .procname     = "dev",
  33          .mode         = 0555,
  34          .child        = scsi_dir_table },
  35        { }
  36};
  37
  38static struct ctl_table_header *scsi_table_header;
  39
  40int __init scsi_init_sysctl(void)
  41{
  42        scsi_table_header = register_sysctl_table(scsi_root_table);
  43        if (!scsi_table_header)
  44                return -ENOMEM;
  45        return 0;
  46}
  47
  48void scsi_exit_sysctl(void)
  49{
  50        unregister_sysctl_table(scsi_table_header);
  51}
  52