Hello. On 07-12-2010 19:38, Felipe Balbi wrote:
musb core doesn't need to know about platform specific details. So start moving clock handling to platform glue layer and make musb core agnostic about that.
Signed-off-by: Felipe Balbi<balbi@xxxxxx>
[...]
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c index 1dd6e35..27199d4 100644 --- a/drivers/usb/musb/da8xx.c +++ b/drivers/usb/musb/da8xx.c
[...]
@@ -556,8 +574,10 @@ static int __exit da8xx_remove(struct platform_device *pdev) { struct da8xx_glue *glue = platform_get_drvdata(pdev); - platform_device_del(glue->musb); platform_device_put(glue->musb); + platform_device_del(glue->musb);
It's not clear why you've changed the order of calls.
+ clk_disable(glue->clk); + clk_put(glue->clk); kfree(glue); return 0;
[...]
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index dcc77ef..6f7b462 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -2179,9 +2161,6 @@ fail3: musb_platform_exit(musb); fail2:
Should have killed the label too.
- if (musb->clock) - clk_put(musb->clock); - fail1: dev_err(musb->controller, "musb_init_controller failed with status %d\n", status);
WBR, Sergei -- 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