Browse Source

Input: add option to disable HP SDC driver

Add "no_hpsdc" kernel module option to the hp_sdc driver, so that
the driver can be instructed to not enable the HP SDC port.

This is useful on some older HPPA boxes with HIL keyboard
and HIL mouse where the new HP SDC HIL drivers don't work
yet. By disabling the new hp_sdc driver users are able to use
the older hilkbd driver instead.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Helge Deller 17 years ago
parent
commit
305e342bba
1 changed files with 9 additions and 0 deletions
  1. 9 0
      drivers/input/serio/hp_sdc.c

+ 9 - 0
drivers/input/serio/hp_sdc.c

@@ -105,6 +105,10 @@ EXPORT_SYMBOL(__hp_sdc_enqueue_transaction);
 EXPORT_SYMBOL(hp_sdc_enqueue_transaction);
 EXPORT_SYMBOL(hp_sdc_enqueue_transaction);
 EXPORT_SYMBOL(hp_sdc_dequeue_transaction);
 EXPORT_SYMBOL(hp_sdc_dequeue_transaction);
 
 
+static unsigned int hp_sdc_disabled;
+module_param_named(no_hpsdc, hp_sdc_disabled, bool, 0);
+MODULE_PARM_DESC(no_hpsdc, "Do not enable HP SDC driver.");
+
 static hp_i8042_sdc	hp_sdc;	/* All driver state is kept in here. */
 static hp_i8042_sdc	hp_sdc;	/* All driver state is kept in here. */
 
 
 /*************** primitives for use in any context *********************/
 /*************** primitives for use in any context *********************/
@@ -980,6 +984,11 @@ static int __init hp_sdc_register(void)
 	unsigned char i;
 	unsigned char i;
 #endif
 #endif
 
 
+	if (hp_sdc_disabled) {
+		printk(KERN_WARNING PREFIX "HP SDC driver disabled by no_hpsdc=1.\n");
+		return -ENODEV;
+	}
+
 	hp_sdc.dev = NULL;
 	hp_sdc.dev = NULL;
 	hp_sdc.dev_err = 0;
 	hp_sdc.dev_err = 0;
 #if defined(__hppa__)
 #if defined(__hppa__)