diff options
Diffstat (limited to 'drivers/usb/renesas_usbhs/mod_gadget.c')
-rw-r--r-- | drivers/usb/renesas_usbhs/mod_gadget.c | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/drivers/usb/renesas_usbhs/mod_gadget.c b/drivers/usb/renesas_usbhs/mod_gadget.c index 78fca978b2d0..ed4949faa70d 100644 --- a/drivers/usb/renesas_usbhs/mod_gadget.c +++ b/drivers/usb/renesas_usbhs/mod_gadget.c | |||
@@ -230,7 +230,7 @@ static int usbhsg_recip_handler_std_clear_endpoint(struct usbhs_priv *priv, | |||
230 | return 0; | 230 | return 0; |
231 | } | 231 | } |
232 | 232 | ||
233 | struct usbhsg_recip_handle req_clear_feature = { | 233 | static struct usbhsg_recip_handle req_clear_feature = { |
234 | .name = "clear feature", | 234 | .name = "clear feature", |
235 | .device = usbhsg_recip_handler_std_control_done, | 235 | .device = usbhsg_recip_handler_std_control_done, |
236 | .interface = usbhsg_recip_handler_std_control_done, | 236 | .interface = usbhsg_recip_handler_std_control_done, |
@@ -271,7 +271,7 @@ static int usbhsg_recip_handler_std_set_endpoint(struct usbhs_priv *priv, | |||
271 | return 0; | 271 | return 0; |
272 | } | 272 | } |
273 | 273 | ||
274 | struct usbhsg_recip_handle req_set_feature = { | 274 | static struct usbhsg_recip_handle req_set_feature = { |
275 | .name = "set feature", | 275 | .name = "set feature", |
276 | .device = usbhsg_recip_handler_std_set_device, | 276 | .device = usbhsg_recip_handler_std_set_device, |
277 | .interface = usbhsg_recip_handler_std_control_done, | 277 | .interface = usbhsg_recip_handler_std_control_done, |
@@ -372,7 +372,7 @@ static int usbhsg_recip_handler_std_get_endpoint(struct usbhs_priv *priv, | |||
372 | return 0; | 372 | return 0; |
373 | } | 373 | } |
374 | 374 | ||
375 | struct usbhsg_recip_handle req_get_status = { | 375 | static struct usbhsg_recip_handle req_get_status = { |
376 | .name = "get status", | 376 | .name = "get status", |
377 | .device = usbhsg_recip_handler_std_get_device, | 377 | .device = usbhsg_recip_handler_std_get_device, |
378 | .interface = usbhsg_recip_handler_std_get_interface, | 378 | .interface = usbhsg_recip_handler_std_get_interface, |
@@ -845,7 +845,6 @@ static int usbhsg_gadget_start(struct usb_gadget *gadget, | |||
845 | 845 | ||
846 | /* first hook up the driver ... */ | 846 | /* first hook up the driver ... */ |
847 | gpriv->driver = driver; | 847 | gpriv->driver = driver; |
848 | gpriv->gadget.dev.driver = &driver->driver; | ||
849 | 848 | ||
850 | return usbhsg_try_start(priv, USBHSG_STATUS_REGISTERD); | 849 | return usbhsg_try_start(priv, USBHSG_STATUS_REGISTERD); |
851 | } | 850 | } |
@@ -861,7 +860,6 @@ static int usbhsg_gadget_stop(struct usb_gadget *gadget, | |||
861 | return -EINVAL; | 860 | return -EINVAL; |
862 | 861 | ||
863 | usbhsg_try_stop(priv, USBHSG_STATUS_REGISTERD); | 862 | usbhsg_try_stop(priv, USBHSG_STATUS_REGISTERD); |
864 | gpriv->gadget.dev.driver = NULL; | ||
865 | gpriv->driver = NULL; | 863 | gpriv->driver = NULL; |
866 | 864 | ||
867 | return 0; | 865 | return 0; |
@@ -925,11 +923,6 @@ static int usbhsg_stop(struct usbhs_priv *priv) | |||
925 | return usbhsg_try_stop(priv, USBHSG_STATUS_STARTED); | 923 | return usbhsg_try_stop(priv, USBHSG_STATUS_STARTED); |
926 | } | 924 | } |
927 | 925 | ||
928 | static void usbhs_mod_gadget_release(struct device *pdev) | ||
929 | { | ||
930 | /* do nothing */ | ||
931 | } | ||
932 | |||
933 | int usbhs_mod_gadget_probe(struct usbhs_priv *priv) | 926 | int usbhs_mod_gadget_probe(struct usbhs_priv *priv) |
934 | { | 927 | { |
935 | struct usbhsg_gpriv *gpriv; | 928 | struct usbhsg_gpriv *gpriv; |
@@ -976,15 +969,10 @@ int usbhs_mod_gadget_probe(struct usbhs_priv *priv) | |||
976 | /* | 969 | /* |
977 | * init gadget | 970 | * init gadget |
978 | */ | 971 | */ |
979 | dev_set_name(&gpriv->gadget.dev, "gadget"); | ||
980 | gpriv->gadget.dev.parent = dev; | 972 | gpriv->gadget.dev.parent = dev; |
981 | gpriv->gadget.dev.release = usbhs_mod_gadget_release; | ||
982 | gpriv->gadget.name = "renesas_usbhs_udc"; | 973 | gpriv->gadget.name = "renesas_usbhs_udc"; |
983 | gpriv->gadget.ops = &usbhsg_gadget_ops; | 974 | gpriv->gadget.ops = &usbhsg_gadget_ops; |
984 | gpriv->gadget.max_speed = USB_SPEED_HIGH; | 975 | gpriv->gadget.max_speed = USB_SPEED_HIGH; |
985 | ret = device_register(&gpriv->gadget.dev); | ||
986 | if (ret < 0) | ||
987 | goto err_add_udc; | ||
988 | 976 | ||
989 | INIT_LIST_HEAD(&gpriv->gadget.ep_list); | 977 | INIT_LIST_HEAD(&gpriv->gadget.ep_list); |
990 | 978 | ||
@@ -1014,15 +1002,13 @@ int usbhs_mod_gadget_probe(struct usbhs_priv *priv) | |||
1014 | 1002 | ||
1015 | ret = usb_add_gadget_udc(dev, &gpriv->gadget); | 1003 | ret = usb_add_gadget_udc(dev, &gpriv->gadget); |
1016 | if (ret) | 1004 | if (ret) |
1017 | goto err_register; | 1005 | goto err_add_udc; |
1018 | 1006 | ||
1019 | 1007 | ||
1020 | dev_info(dev, "gadget probed\n"); | 1008 | dev_info(dev, "gadget probed\n"); |
1021 | 1009 | ||
1022 | return 0; | 1010 | return 0; |
1023 | 1011 | ||
1024 | err_register: | ||
1025 | device_unregister(&gpriv->gadget.dev); | ||
1026 | err_add_udc: | 1012 | err_add_udc: |
1027 | kfree(gpriv->uep); | 1013 | kfree(gpriv->uep); |
1028 | 1014 | ||
@@ -1038,8 +1024,6 @@ void usbhs_mod_gadget_remove(struct usbhs_priv *priv) | |||
1038 | 1024 | ||
1039 | usb_del_gadget_udc(&gpriv->gadget); | 1025 | usb_del_gadget_udc(&gpriv->gadget); |
1040 | 1026 | ||
1041 | device_unregister(&gpriv->gadget.dev); | ||
1042 | |||
1043 | kfree(gpriv->uep); | 1027 | kfree(gpriv->uep); |
1044 | kfree(gpriv); | 1028 | kfree(gpriv); |
1045 | } | 1029 | } |