module_usb_composite_driver(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ module_usb_composite_driver(9) πŸ¦‹

Okay bestie, welcome to the Kernel API Manual entry for module_usb_composite_driver(9) β€” the macro that handles registering a USB gadget composite driver when your module is lowkey chill in init/exit. Let’s get into it. ✨


🌸 NAME 🌸

module_usb_composite_driver β€” helper macro for registering a USB gadget composite driver. That’s the whole name-card vibe, and honestly? Iconic. πŸ’…


✨ SYNOPSIS ✨

module_usb_composite_driver (__usb_composite_driver );

πŸŽ€ ARGUMENTS πŸŽ€

  • __usb_composite_driver β€” a usb_composite_driver struct. Yep, that’s the argument, bestie: the usb_composite_driver struct gets handed over, and the macro does its thing. 🫢

πŸ’… DESCRIPTION πŸ’…

Okay so picture this: you’ve got a USB gadget composite driver, and it does not do anything special in module init/exit. This macro is your helper for exactly that situation. It eliminates a lot of boilerplate β€” like, the boring copy-paste glue is gone, slay. πŸ”₯

Each module may only use this macro once, and calling it replaces module_init and module_exit. Not me emphasizing this, but bestie, it matters. πŸ’€πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/linux/usb/composite.h struct β€” yes, the page calls out that kernel file, and the struct word is right there in the mix.
  • struct usb_os_desc_ext_prop(9)
  • struct usb_os_desc(9)
  • struct usb_os_desc_table(9)
  • struct usb_function(9)
  • struct usb_configuration(9)
  • struct usb_composite_driver(9)
  • struct usb_composite_dev(9)

Cute sign-off time, bestie: this page’s source/version vibes come from ./include/linux/usb, the date is October 2026, and it signs itself module_usb_composite_driver(9). That’s the footer, but make it fashion. πŸŽ€πŸ’…

πŸ“¦ where this page comes from