On Tue, Jun 28, 2011 at 04:34:00PM +0300, Felipe Balbi wrote: > From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > > This also fixes the error path: If the second device fails to register > we never remove the first one. > This is compile-tested only. I don't see any difference between those > two. Maybe we should just use one name instead? > > Cc: Ben Dooks <ben-linux@xxxxxxxxx> > Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > Signed-off-by: Felipe Balbi <balbi@xxxxxx> > --- > drivers/usb/gadget/s3c2410_udc.c | 29 +++++++++-------------------- > 1 files changed, 9 insertions(+), 20 deletions(-) > > diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c > index 1c19cd3..394c1a3 100644 > --- a/drivers/usb/gadget/s3c2410_udc.c > +++ b/drivers/usb/gadget/s3c2410_udc.c > @@ -2057,26 +2057,22 @@ static int s3c2410_udc_resume(struct platform_device *pdev) > #define s3c2410_udc_resume NULL > #endif > > -static struct platform_driver udc_driver_2410 = { > - .driver = { > - .name = "s3c2410-usbgadget", > - .owner = THIS_MODULE, > - }, > - .probe = s3c2410_udc_probe, > - .remove = s3c2410_udc_remove, > - .suspend = s3c2410_udc_suspend, > - .resume = s3c2410_udc_resume, > +static const struct platform_device_id s3c_udc_ids[] = { > + { "s3c2410-usbgadget", }, > + { "s3c2440-usbgadget", }, > }; > +MODULE_DEVICE_TABLE(platform, s3c_udc_ids); > > -static struct platform_driver udc_driver_2440 = { > +static struct platform_driver udc_driver_24x0 = { > .driver = { > - .name = "s3c2440-usbgadget", > + .name = "s3c24x0-usbgadget", > .owner = THIS_MODULE, > }, > .probe = s3c2410_udc_probe, > .remove = s3c2410_udc_remove, > .suspend = s3c2410_udc_suspend, > .resume = s3c2410_udc_resume, > + .id_table = s3c_udc_ids, > }; > > static int __init udc_init(void) > @@ -2092,11 +2088,7 @@ static int __init udc_init(void) > s3c2410_udc_debugfs_root = NULL; > } > > - retval = platform_driver_register(&udc_driver_2410); > - if (retval) > - goto err; > - > - retval = platform_driver_register(&udc_driver_2440); > + retval = platform_driver_register(&udc_driver_24x0); > if (retval) > goto err; > > @@ -2109,8 +2101,7 @@ err: > > static void __exit udc_exit(void) > { > - platform_driver_unregister(&udc_driver_2410); > - platform_driver_unregister(&udc_driver_2440); > + platform_driver_unregister(&udc_driver_24x0); > debugfs_remove(s3c2410_udc_debugfs_root); > } > > @@ -2121,5 +2112,3 @@ MODULE_AUTHOR(DRIVER_AUTHOR); > MODULE_DESCRIPTION(DRIVER_DESC); > MODULE_VERSION(DRIVER_VERSION); > MODULE_LICENSE("GPL"); > -MODULE_ALIAS("platform:s3c2410-usbgadget"); > -MODULE_ALIAS("platform:s3c2440-usbgadget"); You just dropped the alias here, doesn't that break things? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html