Skip to content

Commit

Permalink
usb: gadget: f_hid: remove compatibility layer
Browse files Browse the repository at this point in the history
There are no old function interface users left, so remove it.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Andrzej Pietrasiewicz authored and Felipe Balbi committed Nov 6, 2014
1 parent 4bc8a33 commit 5d66a39
Showing 1 changed file with 0 additions and 73 deletions.
73 changes: 0 additions & 73 deletions drivers/usb/gadget/function/f_hid.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,8 @@

static int major, minors;
static struct class *hidg_class;
#ifndef USBF_HID_INCLUDED
static DEFINE_IDA(hidg_ida);
static DEFINE_MUTEX(hidg_ida_lock); /* protects access to hidg_ida */
#endif

/*-------------------------------------------------------------------------*/
/* HID gadget struct */
Expand Down Expand Up @@ -684,75 +682,6 @@ static int hidg_bind(struct usb_configuration *c, struct usb_function *f)
return status;
}

#ifdef USBF_HID_INCLUDED
static void hidg_unbind(struct usb_configuration *c, struct usb_function *f)
{
struct f_hidg *hidg = func_to_hidg(f);

device_destroy(hidg_class, MKDEV(major, hidg->minor));
cdev_del(&hidg->cdev);

/* disable/free request and end point */
usb_ep_disable(hidg->in_ep);
usb_ep_dequeue(hidg->in_ep, hidg->req);
kfree(hidg->req->buf);
usb_ep_free_request(hidg->in_ep, hidg->req);

usb_free_all_descriptors(f);

kfree(hidg->report_desc);
kfree(hidg);
}

/*-------------------------------------------------------------------------*/
/* usb_configuration */
int __init hidg_bind_config(struct usb_configuration *c,
struct hidg_func_descriptor *fdesc, int index)
{
struct f_hidg *hidg;
int status;

if (index >= minors)
return -ENOENT;

/* allocate and initialize one new instance */
hidg = kzalloc(sizeof *hidg, GFP_KERNEL);
if (!hidg)
return -ENOMEM;

hidg->minor = index;
hidg->bInterfaceSubClass = fdesc->subclass;
hidg->bInterfaceProtocol = fdesc->protocol;
hidg->report_length = fdesc->report_length;
hidg->report_desc_length = fdesc->report_desc_length;
hidg->report_desc = kmemdup(fdesc->report_desc,
fdesc->report_desc_length,
GFP_KERNEL);
if (!hidg->report_desc) {
kfree(hidg);
return -ENOMEM;
}

hidg->func.name = "hid";
hidg->func.strings = ct_func_strings;
hidg->func.bind = hidg_bind;
hidg->func.unbind = hidg_unbind;
hidg->func.set_alt = hidg_set_alt;
hidg->func.disable = hidg_disable;
hidg->func.setup = hidg_setup;

/* this could me made configurable at some point */
hidg->qlen = 4;

status = usb_add_function(c, &hidg->func);
if (status)
kfree(hidg);

return status;
}

#else

static inline int hidg_get_minor(void)
{
int ret;
Expand Down Expand Up @@ -895,8 +824,6 @@ DECLARE_USB_FUNCTION_INIT(hid, hidg_alloc_inst, hidg_alloc);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Fabien Chouteau");

#endif

int ghid_setup(struct usb_gadget *g, int count)
{
int status;
Expand Down

0 comments on commit 5d66a39

Please sign in to comment.