Jelajahi Sumber

Staging: comedi: Add a module parameter 'comedi_autoconfig'.

Set it to 0 or 'N' to disable autoconfiguration.
It is enabled by default.

From: Ian Abbott <abbotti@mev.co.uk>
Cc: Frank Mori Hess <fmhess@users.sourceforge.net>
Cc: David Schleef <ds@schleef.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ian Abbott 16 tahun lalu
induk
melakukan
6a9d7a21d7

+ 3 - 0
drivers/staging/comedi/comedi_fops.c

@@ -59,6 +59,9 @@ int comedi_debug;
 module_param(comedi_debug, int, 0644);
 #endif
 
+int comedi_autoconfig = 1;
+module_param(comedi_autoconfig, bool, 0444);
+
 static DEFINE_SPINLOCK(comedi_file_info_table_lock);
 static struct comedi_device_file_info
     *comedi_file_info_table[COMEDI_NUM_MINORS];

+ 1 - 0
drivers/staging/comedi/comedi_fops.h

@@ -4,5 +4,6 @@
 
 extern struct class *comedi_class;
 extern const struct file_operations comedi_fops;
+extern int comedi_autoconfig;
 
 #endif /* _COMEDI_FOPS_H */

+ 3 - 0
drivers/staging/comedi/drivers.c

@@ -797,6 +797,9 @@ int comedi_auto_config(struct device *hardware_device, const char *board_name, c
 	struct comedi_device_file_info *dev_file_info;
 	int retval;
 
+	if (!comedi_autoconfig)
+		return -ENODEV;
+
 	minor = comedi_alloc_board_minor(hardware_device);
 	if(minor < 0) return minor;
 	dev_set_drvdata(hardware_device, (void*)(unsigned long)minor);