Lines Matching refs:ep_dev
182 static int endpoint_get_minor(struct ep_device *ep_dev)
192 retval = idr_get_new(&endpoint_idr, ep_dev, &id);
198 ep_dev->minor = id & MAX_ID_MASK;
204 static void endpoint_free_minor(struct ep_device *ep_dev)
206 idr_remove(&endpoint_idr, ep_dev->minor);
268 struct ep_device *ep_dev = to_ep_device(dev);
271 endpoint_free_minor(ep_dev);
272 kfree(ep_dev);
280 struct ep_device *ep_dev;
287 ep_dev = kzalloc(sizeof(*ep_dev), GFP_KERNEL);
288 if (!ep_dev) {
293 retval = endpoint_get_minor(ep_dev);
296 ep_dev->dev.bus_id);
300 ep_dev->desc = &endpoint->desc;
301 ep_dev->udev = udev;
302 ep_dev->dev.devt = MKDEV(usb_endpoint_major, ep_dev->minor);
303 ep_dev->dev.class = ep_class->class;
304 ep_dev->dev.parent = parent;
305 ep_dev->dev.release = ep_device_release;
306 snprintf(ep_dev->dev.bus_id, BUS_ID_SIZE, "usbdev%d.%d_ep%02x",
310 retval = device_register(&ep_dev->dev);
313 retval = sysfs_create_group(&ep_dev->dev.kobj, &ep_dev_attr_grp);
319 retval = sysfs_create_link(&parent->kobj, &ep_dev->dev.kobj, name);
322 endpoint->ep_dev = ep_dev;
326 sysfs_remove_group(&ep_dev->dev.kobj, &ep_dev_attr_grp);
328 device_unregister(&ep_dev->dev);
333 endpoint_free_minor(ep_dev);
336 kfree(ep_dev);
345 struct ep_device *ep_dev = endpoint->ep_dev;
347 if (ep_dev) {
351 sysfs_remove_link(&ep_dev->dev.parent->kobj, name);
352 sysfs_remove_group(&ep_dev->dev.kobj, &ep_dev_attr_grp);
353 device_unregister(&ep_dev->dev);
354 endpoint->ep_dev = NULL;