USB_DEVICE_VER(9)
π USB_DEVICE_VER(9) π
okay so we're in the Kernel API Manual today bestie, and this page is all about one lil macro that describes a specific USB device β but with a version range πβ¨
β¨ NAME β¨
USB_DEVICE_VER β describe a specific usb device with a version range π
πΈ SYNOPSIS πΈ
USB_DEVICE_VER (vend , prod , lo , hi );
π¦ ARGUMENTS π¦
vendβ the 16 bit USB Vendor ID πprodβ the 16 bit USB Product ID π«Άloβ thebcdDevice_lovaluehiβ thebcdDevice_hivalue
π DESCRIPTION π
This macro is used to create a struct usb_device_id that matches a specific device, with a version range. literally that's the whole vibe β you give it a vendor, a product, and a lo/hi version window, and it builds you the matching id struct. no cap. π₯
π SEE ALSO π
Kernel file ./include/linux/usb.h β and here's the whole friend group, no one left out fr fr:
struct usb_host_endpoint(9)struct usb_interface(9)usb_set_intfdata(9)struct usb_interface_cache(9)struct usb_host_config(9)struct usb_device(9)usb_hub_for_each_child(9)usb_interface_claimed(9)usb_make_path(9)USB_DEVICE(9)USB_DEVICE_INTERFACE_CLASS(9)USB_DEVICE_INTERFACE_PROTOCOL(9)USB_DEVICE_INTERFACE_NUMBER(9)USB_DEVICE_INFO(9)USB_INTERFACE_INFO(9)USB_DEVICE_AND_INTERFACE_INFO(9)USB_VENDOR_AND_INTERFACE_INFO(9)struct usb_driver(9)struct usb_device_driver(9)struct usb_class_driver(9)module_usb_driver(9)struct urb(9)usb_fill_control_urb(9)usb_fill_bulk_urb(9)usb_fill_int_urb(9)usb_urb_dir_in(9)usb_urb_dir_out(9)struct usb_sg_request(9)
and that's the whole page bestie, go forth and match some devices π§π
sign-off time: this cutie lives in ./include/linux, dated October 2026, and it's USB_DEVICE_VER(9) β periodt π
β
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms