|
@@ -1699,28 +1699,6 @@ static struct usb_gadget_driver gadgetfs_driver = {
|
|
|
};
|
|
|
|
|
|
/*----------------------------------------------------------------------*/
|
|
|
-
|
|
|
-static void gadgetfs_nop(struct usb_gadget *arg) { }
|
|
|
-
|
|
|
-static int gadgetfs_probe(struct usb_gadget *gadget,
|
|
|
- struct usb_gadget_driver *driver)
|
|
|
-{
|
|
|
- CHIP = gadget->name;
|
|
|
- return -EISNAM;
|
|
|
-}
|
|
|
-
|
|
|
-static struct usb_gadget_driver probe_driver = {
|
|
|
- .max_speed = USB_SPEED_HIGH,
|
|
|
- .bind = gadgetfs_probe,
|
|
|
- .unbind = gadgetfs_nop,
|
|
|
- .setup = (void *)gadgetfs_nop,
|
|
|
- .disconnect = gadgetfs_nop,
|
|
|
- .driver = {
|
|
|
- .name = "nop",
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-
|
|
|
/* DEVICE INITIALIZATION
|
|
|
*
|
|
|
* fd = open ("/dev/gadget/$CHIP", O_RDWR)
|
|
@@ -1971,9 +1949,7 @@ gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
|
|
|
if (the_device)
|
|
|
return -ESRCH;
|
|
|
|
|
|
- /* fake probe to determine $CHIP */
|
|
|
- CHIP = NULL;
|
|
|
- usb_gadget_probe_driver(&probe_driver);
|
|
|
+ CHIP = usb_get_gadget_udc_name();
|
|
|
if (!CHIP)
|
|
|
return -ENODEV;
|
|
|
|
|
@@ -2034,6 +2010,8 @@ gadgetfs_kill_sb (struct super_block *sb)
|
|
|
put_dev (the_device);
|
|
|
the_device = NULL;
|
|
|
}
|
|
|
+ kfree(CHIP);
|
|
|
+ CHIP = NULL;
|
|
|
}
|
|
|
|
|
|
/*----------------------------------------------------------------------*/
|