usb gadget: don't save bind callback in struct usb_composite_driver
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / usb / gadget / hid.c
index 735495b..77f4952 100644 (file)
@@ -127,7 +127,7 @@ static struct usb_gadget_strings *dev_strings[] = {
 
 /****************************** Configurations ******************************/
 
-static int __ref do_config(struct usb_configuration *c)
+static int __init do_config(struct usb_configuration *c)
 {
        struct hidg_func_node *e;
        int func = 0, status = 0;
@@ -156,7 +156,7 @@ static struct usb_configuration config_driver = {
 
 /****************************** Gadget Bind ******************************/
 
-static int __ref hid_bind(struct usb_composite_dev *cdev)
+static int __init hid_bind(struct usb_composite_dev *cdev)
 {
        struct usb_gadget *gadget = cdev->gadget;
        struct list_head *tmp;
@@ -256,7 +256,6 @@ static struct usb_composite_driver hidg_driver = {
        .name           = "g_hid",
        .dev            = &device_desc,
        .strings        = dev_strings,
-       .bind           = hid_bind,
        .unbind         = __exit_p(hid_unbind),
 };
 
@@ -282,7 +281,7 @@ static int __init hidg_init(void)
        if (status < 0)
                return status;
 
-       status = usb_composite_register(&hidg_driver);
+       status = usb_composite_probe(&hidg_driver, hid_bind);
        if (status < 0)
                platform_driver_unregister(&hidg_plat_driver);