Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F160186804
D44989.id137813.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D44989.id137813.diff
View Options
diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c
--- a/sys/dev/usb/quirk/usb_quirk.c
+++ b/sys/dev/usb/quirk/usb_quirk.c
@@ -60,7 +60,6 @@
MODULE_DEPEND(usb_quirk, usb, 1, 1, 1);
MODULE_VERSION(usb_quirk, 1);
-#define USB_DEV_QUIRKS_MAX 384
#define USB_SUB_QUIRKS_MAX 8
#define USB_QUIRK_ENVROOT "hw.usb.quirk."
@@ -80,7 +79,29 @@
#define USB_QUIRK(v,p,l,h,...) \
USB_QUIRK_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, l, h, __VA_ARGS__)
-static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = {
+#define USB_QUIRK_SLOT_ALLOC_2() \
+ USB_QUIRK_VP(0x0000, 0x0000, 0x0000, 0x0000, UQ_NONE), \
+ USB_QUIRK_VP(0x0000, 0x0000, 0x0000, 0x0000, UQ_NONE),
+#define USB_QUIRK_SLOT_ALLOC_4() \
+ USB_QUIRK_SLOT_ALLOC_2() \
+ USB_QUIRK_SLOT_ALLOC_2()
+#define USB_QUIRK_SLOT_ALLOC_8() \
+ USB_QUIRK_SLOT_ALLOC_4() \
+ USB_QUIRK_SLOT_ALLOC_4()
+#define USB_QUIRK_SLOT_ALLOC_16() \
+ USB_QUIRK_SLOT_ALLOC_8() \
+ USB_QUIRK_SLOT_ALLOC_8()
+#define USB_QUIRK_SLOT_ALLOC_32() \
+ USB_QUIRK_SLOT_ALLOC_16() \
+ USB_QUIRK_SLOT_ALLOC_16()
+#define USB_QUIRK_SLOT_ALLOC_64() \
+ USB_QUIRK_SLOT_ALLOC_32() \
+ USB_QUIRK_SLOT_ALLOC_32()
+#define USB_QUIRK_SLOT_ALLOC_128() \
+ USB_QUIRK_SLOT_ALLOC_64() \
+ USB_QUIRK_SLOT_ALLOC_64()
+
+static struct usb_quirk_entry usb_quirks[] = {
USB_QUIRK(ASUS, LCM, 0x0000, 0xffff, UQ_HID_IGNORE),
USB_QUIRK(INSIDEOUT, EDGEPORT4, 0x094, 0x094, UQ_SWAP_UNICODE),
USB_QUIRK(DALLAS, J6502, 0x0a2, 0x0a2, UQ_BAD_ADC),
@@ -638,7 +659,11 @@
/* This works much better with if_cdce than if_ure */
USB_QUIRK(LENOVO, TBT3LAN, 0x0000, 0xffff, UQ_CFG_INDEX_1),
+
+ /* The following slots are reserved for adding devices dynamically */
+ USB_QUIRK_SLOT_ALLOC_128()
};
+static uint32_t USB_DEV_QUIRKS_MAX = sizeof(usb_quirks)/sizeof(usb_quirks[0]);
#undef USB_QUIRK_VP
#undef USB_QUIRK
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jun 23, 12:24 AM (6 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34220968
Default Alt Text
D44989.id137813.diff (1 KB)
Attached To
Mode
D44989: usb/quirk: Optimize USB quirk entry definition more flexible
Attached
Detach File
Event Timeline
Log In to Comment