From: Norbert Preining <preining@logic.at>
To: linux-hotplug@vger.kernel.org
Subject: hotplugging with current modutils and usbd cvs
Date: Mon, 08 Jan 2001 16:55:28 +0000 [thread overview]
Message-ID: <marc-linux-hotplug-97897293703057@msgid-missing> (raw)
[-- Attachment #1: Type: text/plain, Size: 1153 bytes --]
Hi there!
Here my experiences with hotplugging with modutils-2.4.1, linux-2.4.0
with the hotplug patch applied.
My devices plug well AFTER I add the matchflag to the read statement
in the hotplug script. But for mousedev/joydev hotplugging I had
to patch in the input-hotplug patch.
usb-storage and joydev does NOT hotplug, but I still use my local-usbmap
approach to do this.
I attach the folowing files:
hotplug-local.patch
Patch for new modules.usbmap format and for local map support
usb-map.local
My local usbmap for usb-storage (sddr-31) and joydev for
Logitech Wingman Digital Extreme
input.patch
The patch for automagically hotpluging of mousedev (and joydev?)
From David Brownell
I hope that helps and we see improved usbd cvs scripts soon ;-)
Best wishes
Norbert
--
ciao
norb
+-------------------------------------------------------------------+
| Norbert Preining http://www.logic.at/people/preining |
| University of Technology Vienna, Austria preining@logic.at |
| DSA: 0x09C5B094 (RSA: 0xCF1FA165) mail subject: get [DSA|RSA]-key |
+-------------------------------------------------------------------+
[-- Attachment #2: hotplug-local.patch --]
[-- Type: text/plain, Size: 1071 bytes --]
--- hotplug.orig Mon Jan 8 08:58:20 2001
+++ hotplug Mon Jan 8 17:43:24 2001
@@ -132,6 +132,8 @@
PCI_MAP=$MODDIR/modules.pcimap
USB_MAP=$MODDIR/modules.usbmap
+USB_LOCAL_MAP=/etc/usb/usb-map.local
+
DRIVERS=
####################################################################
@@ -207,7 +209,7 @@
# NOTE: this match algorithm is just a filter; some drivers need
# to look at the device for reasons other than paranoia
- while read module idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol ignored
+ while read module matchflag idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol ignored
do
: checkmatch $module
@@ -362,6 +364,11 @@
if [ -f $2 ]; then
$1_convert_vars
$1_map_modules < $2
+ if [ "$1" = "usb" ] ; then
+ if [ -f "$USB_LOCAL_MAP" ] ; then
+ usb_map_modules < $USB_LOCAL_MAP
+ fi
+ fi
else
mesg "$2 missing"
exit 1
[-- Attachment #3: usb-map.local --]
[-- Type: text/plain, Size: 536 bytes --]
# usb module match_flag idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
joydev 0x0 0x046d 0xc207 0x0000 0x0000 0x00 0x00 0x00 0x03 0x00 0x00 0x00000000
usb-storage 0x0 0x0781 0x0002 0x0000 0x0000 0x00 0x00 0x00 0x08 0x06 0x50 0x00000000
[-- Attachment #4: input.patch --]
[-- Type: text/plain, Size: 2088 bytes --]
--- test12-pre3b/drivers/input-pre3/joydev.c Thu Nov 30 12:02:31 2000
+++ linux/drivers/input/joydev.c Mon Dec 11 10:07:42 2000
@@ -86,6 +86,21 @@
MODULE_DESCRIPTION("Joystick device driver");
MODULE_SUPPORTED_DEVICE("input/js");
+
+#ifdef CONFIG_HOTPLUG
+#if defined(CONFIG_USB_HID) || defined(CONFIG_USB_HID_MODULE)
+#include <linux/usb.h>
+
+static const struct usb_device_id usb_table [] = {
+ /* hid class, joystick protocol */
+ { bInterfaceClass: 3, bInterfaceSubClass: 1, bInterfaceProtocol: 4},
+ { } /* Terminating entry */
+};
+MODULE_DEVICE_TABLE (usb, usb_table);
+#endif /* USB HID */
+#endif /* HOTPLUG */
+
+
static int joydev_correct(int value, struct js_corr *corr)
{
switch (corr->type) {
--- test12-pre3b/drivers/input-pre3/keybdev.c Thu Nov 30 12:02:31 2000
+++ linux/drivers/input/keybdev.c Mon Dec 11 10:07:11 2000
@@ -36,6 +36,19 @@
#include <linux/module.h>
#include <linux/kbd_kern.h>
+#ifdef CONFIG_HOTPLUG
+#if defined(CONFIG_USB_HID) || defined(CONFIG_USB_HID_MODULE)
+#include <linux/usb.h>
+
+static const struct usb_device_id usb_table [] = {
+ /* hid class, keyboard protocol */
+ { bInterfaceClass: 3, bInterfaceSubClass: 1, bInterfaceProtocol: 1},
+ { } /* Terminating entry */
+};
+MODULE_DEVICE_TABLE (usb, usb_table);
+#endif /* USB HID */
+#endif /* HOTPLUG */
+
#if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(__alpha__) || defined(__mips__)
static int x86_sysrq_alt = 0;
--- test12-pre3b/drivers/input-pre3/mousedev.c Thu Nov 30 12:02:31 2000
+++ linux/drivers/input/mousedev.c Mon Dec 11 10:06:52 2000
@@ -48,6 +48,19 @@
#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768
#endif
+#ifdef CONFIG_HOTPLUG
+#if defined(CONFIG_USB_HID) || defined(CONFIG_USB_HID_MODULE)
+#include <linux/usb.h>
+
+static const struct usb_device_id usb_table [] = {
+ /* hid class, mouse protocol */
+ { bInterfaceClass: 3, bInterfaceSubClass: 1, bInterfaceProtocol: 2},
+ { } /* Terminating entry */
+};
+MODULE_DEVICE_TABLE (usb, usb_table);
+#endif /* USB HID */
+#endif /* HOTPLUG */
+
struct mousedev {
int exist;
int open;
next reply other threads:[~2001-01-08 16:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-08 16:55 Norbert Preining [this message]
2001-01-08 21:46 ` hotplugging with current modutils and usbd cvs David Brownell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-hotplug-97897293703057@msgid-missing \
--to=preining@logic.at \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.