---
name: "usb_composite_register"
section: "9"
platform: "linux"
package: "linux-manual-2.6.32"
version: "2.6.32-48squeeze6"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/usb_composite_register"
---

# usb\_composite\_register(9)

register a composite driver

## NAME

usb\_composite\_register - register a composite driver

## SYNOPSIS

**int usb\_composite\_register(struct usb\_composite\_driver \*** *driver***);**

## ARGUMENTS

*driver*

the driver to register

## CONTEXT

single threaded during gadget setup

## DESCRIPTION

This function is used to register drivers using the composite driver framework. The return value is zero, or a negative errno value. Those values normally come from the driver's *bind* method, which does all the work of setting up the driver to match the hardware.

On successful return, the gadget is ready to respond to requests from the host, unless one of its components invokes **usb\_gadget\_disconnect** while it was binding. That would usually be done in order to wait for some userspace participation.

## AUTHOR

**David Brownell** \<dbrownell@users.sourceforge.net\>

Author.

## COPYRIGHT
