#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/err.h>
#include <linux/usb/composite.h>
static LIST_HEAD(func_list);
static DEFINE_MUTEX(func_lock);
static struct usb_function_instance *try_get_usb_function_instance(const char *name)
{ … }
struct usb_function_instance *usb_get_function_instance(const char *name)
{ … }
EXPORT_SYMBOL_GPL(…);
struct usb_function *usb_get_function(struct usb_function_instance *fi)
{ … }
EXPORT_SYMBOL_GPL(…);
void usb_put_function_instance(struct usb_function_instance *fi)
{ … }
EXPORT_SYMBOL_GPL(…);
void usb_put_function(struct usb_function *f)
{ … }
EXPORT_SYMBOL_GPL(…);
int usb_function_register(struct usb_function_driver *newf)
{ … }
EXPORT_SYMBOL_GPL(…);
void usb_function_unregister(struct usb_function_driver *fd)
{ … }
EXPORT_SYMBOL_GPL(…);