diff options
| -rw-r--r-- | drivers/usb/misc/diag_bridge.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/usb/misc/diag_bridge.c b/drivers/usb/misc/diag_bridge.c index 9fe8d5ee4c3..14ad12e382d 100644 --- a/drivers/usb/misc/diag_bridge.c +++ b/drivers/usb/misc/diag_bridge.c @@ -464,12 +464,7 @@ diag_bridge_probe(struct usb_interface *ifc, const struct usb_device_id *id) pr_err("unable to allocate dev"); return -ENOMEM; } - dev->pdev = platform_device_alloc("diag_bridge", devid); - if (!dev->pdev) { - pr_err("unable to allocate platform device"); - kfree(dev); - return -ENOMEM; - } + __dev[devid] = dev; dev->id = devid; @@ -498,7 +493,13 @@ diag_bridge_probe(struct usb_interface *ifc, const struct usb_device_id *id) usb_set_intfdata(ifc, dev); diag_bridge_debugfs_init(); - platform_device_add(dev->pdev); + dev->pdev = platform_device_register_simple("diag_bridge", devid, + NULL, 0); + if (IS_ERR(dev->pdev)) { + pr_err("unable to allocate platform device"); + ret = PTR_ERR(dev->pdev); + goto error; + } dev_dbg(&dev->ifc->dev, "%s: complete\n", __func__); |
