usb: replace __setup("nousb") with __module_param_call

From: Pete Zaitcev
Date: Tue Dec 20 2005 - 17:14:31 EST


Fedora users complain that passing "nousbstorage" to the installer causes
the rest of the USB support to disappear. The installer uses kernel command
line as a way to pass options through Syslinux. The problem stems from the
use of strncmp() in obsolete_checksetup().

I used __module_param_call() instead of module_param because I wanted to
preserve the old syntax in grub.conf, and it's the only macro which allows
to remove the prefix.

The fix is tested to accept the option "nousb" correctly now.

Signed-off-by: Pete Zaitcev <zaitcev@xxxxxxxxxx>

---

--- linux-2.6.14/drivers/usb/core/usb.c 2005-10-28 19:12:01.000000000 -0700
+++ linux-2.6.14-lem/drivers/usb/core/usb.c 2005-12-20 10:53:21.000000000 -0800
@@ -54,7 +54,6 @@
const char *usbcore_name = "usbcore";

static int nousb; /* Disable USB when built into kernel image */
- /* Not honored on modular build */

static DECLARE_RWSEM(usb_all_devices_rwsem);

@@ -1455,18 +1454,8 @@
.resume = usb_generic_resume,
};

-#ifndef MODULE
-
-static int __init usb_setup_disable(char *str)
-{
- nousb = 1;
- return 1;
-}
-
/* format to disable USB on kernel command line is: nousb */
-__setup("nousb", usb_setup_disable);
-
-#endif
+__module_param_call("", nousb, param_set_bool, param_get_bool, &nousb, 0444);

/*
* for external read access to <nousb>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/