Hi, On Wed, Nov 27, 2013 at 02:49:54PM +0530, George Cherian wrote: > >+ error = of_platform_populate(node, NULL, NULL, dev); > >+ if (error) { > >+ dev_err(&pdev->dev, "failed to create dwc3 core\n"); > >+ goto err_core; > >+ } > >+ > >+ return 0; > >+ > >+err_core: > >+ kdwc3_disable_irqs(kdwc); > >+err_irq: > >+ kdwc3_disable(kdwc); > >+ > >+ return error; > >+} > >+ > >+static int kdwc3_remove(struct platform_device *pdev) > >+{ > >+ struct dwc3_keystone *kdwc = platform_get_drvdata(pdev); > >+ > >+ if (kdwc) { > >+ kdwc3_disable_irqs(kdwc); > >+ kdwc3_disable(kdwc); > >+ platform_set_drvdata(pdev, NULL); > >+ } > >+ return 0; > >+} > >+ > > You need to unregister the child nodes in remove. > Also why can't the dwc3-omap driver be reused, Felipe?? > I believe the TI wrapper for Keystone is similar to that of AM437x or > OMAP5. it is very similar indeed, if it can be easily re-use that glue, I'd rather not add another. -- balbi
Attachment:
signature.asc
Description: Digital signature