Re: [linux-usb-devel] why was MODALIAS removed from usb kernelevents? [u]

From: Alan Stern
Date: Fri Aug 17 2007 - 13:12:29 EST


On Fri, 17 Aug 2007, Andreas Jellinghaus [c] wrote:

> I need some kernel event that has both DEVICE and MODALIAS set.
> up to including kernel 2.6.21 this seems to come from
> drivers/usb/core/driver.c if I read the code correctly, and then
> it was removed.
>
> udevmonitor --kernel --environment shows one event with both on 2.6.21 plain,
> but not on 2.6.22 plain.

Does this patch improve matters?

Alan Stern



Index: 2.6.22/drivers/usb/core/message.c
===================================================================
--- 2.6.22.orig/drivers/usb/core/message.c
+++ 2.6.22/drivers/usb/core/message.c
@@ -1344,6 +1344,30 @@ static int usb_if_uevent(struct device *
usb_dev = interface_to_usbdev(intf);
alt = intf->cur_altsetting;

+#ifdef CONFIG_USB_DEVICEFS
+ /* If this is available, userspace programs can directly read
+ * all the device descriptors we don't tell them about. Or
+ * act as usermode drivers.
+ */
+ if (add_uevent_var(envp, num_envp, &i,
+ buffer, buffer_size, &length,
+ "DEVICE=/proc/bus/usb/%03d/%03d",
+ usb_dev->bus->busnum, usb_dev->devnum))
+ return -ENOMEM;
+#endif
+
+ if (add_uevent_var(envp, num_envp, &i,
+ buffer, buffer_size, &length,
+ "BUSNUM=%03d",
+ usb_dev->bus->busnum))
+ return -ENOMEM;
+
+ if (add_uevent_var(envp, num_envp, &i,
+ buffer, buffer_size, &length,
+ "DEVNUM=%03d",
+ usb_dev->devnum))
+ return -ENOMEM;
+
if (add_uevent_var(envp, num_envp, &i,
buffer, buffer_size, &length,
"INTERFACE=%d/%d/%d",

-
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/