Why no USB id list in the kernel sources?

From: Michael Opdenacker
Date: Fri Jul 05 2013 - 17:34:13 EST


Hi,

I'm wondering why there is no include/linux/usb_ids.h (or
include/linux/usb/ids.h) file in the same way there is a
include/linux/pci_ids.h for PCI.

I don't expect all product ids to be listed (the
http://www.linux-usb.org/usb.ids list is pretty big), but if we could
have at least vendor ids, it would make device tables cleaner and easier
to read, as we have in most PCI drivers. Here would be an example:

diff --git a/drivers/media/usb/gspca/pac207.c
b/drivers/media/usb/gspca/pac207.c
index 83519be..ce8c975 100644
--- a/drivers/media/usb/gspca/pac207.c
+++ b/drivers/media/usb/gspca/pac207.c
@@ -449,19 +449,19 @@ static const struct sd_desc sd_desc = {

/* -- module initialisation -- */
static const struct usb_device_id device_table[] = {
- {USB_DEVICE(0x041e, 0x4028)},
- {USB_DEVICE(0x093a, 0x2460)},
- {USB_DEVICE(0x093a, 0x2461)},
- {USB_DEVICE(0x093a, 0x2463)},
- {USB_DEVICE(0x093a, 0x2464)},
- {USB_DEVICE(0x093a, 0x2468)},
- {USB_DEVICE(0x093a, 0x2470)},
- {USB_DEVICE(0x093a, 0x2471)},
- {USB_DEVICE(0x093a, 0x2472)},
- {USB_DEVICE(0x093a, 0x2474)},
- {USB_DEVICE(0x093a, 0x2476)},
- {USB_DEVICE(0x145f, 0x013a)},
- {USB_DEVICE(0x2001, 0xf115)},
+ {USB_DEVICE(USB_VENDOR_ID_CREATIVE, 0x4028)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2460)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2461)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2463)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2464)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2468)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2470)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2471)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2472)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2474)},
+ {USB_DEVICE(USB_VENDOR_ID_PIXART, 0x2476)},
+ {USB_DEVICE(USB_VENDOR_ID_TRUST, 0x013a)},
+ {USB_DEVICE(USB_VENDOR_ID_DLINK, 0xf115)},
{}
};
MODULE_DEVICE_TABLE(usb, device_table);

Does this happen because nobody had the time to create and maintain such
a usb_ids.h file, or would there be any other reasons?

I'm asking because I don't like raw values in situations when a symbolic
name would be more self-explanatory ;)

Thanks,

Cheers,

Michael.

--
Michael Opdenacker, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
+33 484 258 098

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