Преглед изворни кода

usb: gadget: f_mass_storage: eliminate abuse of ep->driver data

Since ep->driver_data is not used for endpoint claiming, neither for
enabled/disabled state storing, we can reduce number of places where
we read or modify it's value, as now it has no particular meaning for
function or framework logic.

In case of f_mass_storage we only need to store in ep->driver_data
pointer to struct fsg_common, which is used in bulk_in_complete() and
bulk_out_complete() callbacks. All other uses of ep->driver_data are now
meaningless and can be safely removed.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Robert Baldyga пре 10 година
родитељ
комит
1cecd54f32
1 измењених фајлова са 0 додато и 4 уклоњено
  1. 0 4
      drivers/usb/gadget/function/f_mass_storage.c

+ 0 - 4
drivers/usb/gadget/function/f_mass_storage.c

@@ -2258,12 +2258,10 @@ reset:
 		/* Disable the endpoints */
 		/* Disable the endpoints */
 		if (fsg->bulk_in_enabled) {
 		if (fsg->bulk_in_enabled) {
 			usb_ep_disable(fsg->bulk_in);
 			usb_ep_disable(fsg->bulk_in);
-			fsg->bulk_in->driver_data = NULL;
 			fsg->bulk_in_enabled = 0;
 			fsg->bulk_in_enabled = 0;
 		}
 		}
 		if (fsg->bulk_out_enabled) {
 		if (fsg->bulk_out_enabled) {
 			usb_ep_disable(fsg->bulk_out);
 			usb_ep_disable(fsg->bulk_out);
-			fsg->bulk_out->driver_data = NULL;
 			fsg->bulk_out_enabled = 0;
 			fsg->bulk_out_enabled = 0;
 		}
 		}
 
 
@@ -3072,13 +3070,11 @@ static int fsg_bind(struct usb_configuration *c, struct usb_function *f)
 	ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_in_desc);
 	ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_in_desc);
 	if (!ep)
 	if (!ep)
 		goto autoconf_fail;
 		goto autoconf_fail;
-	ep->driver_data = fsg->common;	/* claim the endpoint */
 	fsg->bulk_in = ep;
 	fsg->bulk_in = ep;
 
 
 	ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_out_desc);
 	ep = usb_ep_autoconfig(gadget, &fsg_fs_bulk_out_desc);
 	if (!ep)
 	if (!ep)
 		goto autoconf_fail;
 		goto autoconf_fail;
-	ep->driver_data = fsg->common;	/* claim the endpoint */
 	fsg->bulk_out = ep;
 	fsg->bulk_out = ep;
 
 
 	/* Assume endpoint addresses are the same for both speeds */
 	/* Assume endpoint addresses are the same for both speeds */