USB_DEVICE_...TERFACE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… USB_DEVICE_...TERFACE_INFO(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” this one's about USB_DEVICE_AND_INTERFACE_INFO, and it's genuinely one of those macros that hits different once it clicks. no cap. ✨


πŸŽ€ NAME πŸŽ€

USB_DEVICE_AND_INTERFACE_INFO β€” the macro that describes a specific usb device paired with a class of usb interfaces πŸ¦‹


🌸 SYNOPSIS 🌸

USB_DEVICE_AND_INTERFACE_INFO (vend , prod , cl , sc , pr );

✨ ARGUMENTS ✨

  • vend β€” the 16 bit USB Vendor ID, like the family name of the device πŸ‘‘
  • prod β€” the 16 bit USB Product ID, the specific model vibe check πŸ”₯
  • cl β€” the bInterfaceClass value 🌈
  • sc β€” the bInterfaceSubClass value 🌸
  • pr β€” the bInterfaceProtocol value πŸ’«

πŸ’– DESCRIPTION πŸ’–

So here's the thing, bestie: this macro creates a struct usb_device_id that matches a specific device with a specific class of interfaces. Both. Together. Main character energy. πŸ’…

And it's especially useful when you're explicitly matching devices that have vendor specific bDeviceClass values, but standards-compliant interfaces β€” like, the device itself is doing its own quirky thing but the interfaces it hands you are perfectly well-behaved. iconic honestly. it's giving "chaotic on the outside, put-together on the inside" 🫢


πŸ¦‹ SEE ALSO πŸ¦‹

Everything else you're gonna wanna peek at, fr fr:


aaaand that's the page! this lil gem lives in ./include/linux, it's dated October 2026, and it's filed under USB_DEVICE_...TERFACE_INFO(9) in your friendly neighbourhood Kernel API Manual. mwah πŸ’‹ go match some devices, bestie πŸ§šπŸ’œ

πŸ“¦ where this page comes from