Wrappers for PHY methods have been added for readability and reduction of code repetition. Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxxxx> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> --- drivers/usb/gadget/s3c-hsotg.c | 45 +++++++++++++++++++++++++++++++++------ 1 files changed, 38 insertions(+), 7 deletions(-) diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c index 0e8e2f4..8aeb5d0 100644 --- a/drivers/usb/gadget/s3c-hsotg.c +++ b/drivers/usb/gadget/s3c-hsotg.c @@ -2573,6 +2573,39 @@ static int s3c_hsotg_corereset(struct s3c_hsotg *hsotg) return 0; } +/** + * s3c_hsotg_phy_enable - enable platform phy dev + * + * @param: The driver state + * + * A wrapper for platform code responsible for controlling + * low-level USB code + */ +static void s3c_hsotg_phy_enable(struct s3c_hsotg *hsotg) +{ + struct platform_device *pdev = to_platform_device(hsotg->dev); + + dev_dbg(hsotg->dev, "pdev 0x%p\n", pdev); + if (hsotg->plat->phy_init) + hsotg->plat->phy_init(pdev, S5P_USB_PHY_DEVICE); +} + +/** + * s3c_hsotg_phy_disable - disable platform phy dev + * + * @param: The driver state + * + * A wrapper for platform code responsible for controlling + * low-level USB code + */ +static void s3c_hsotg_phy_disable(struct s3c_hsotg *hsotg) +{ + struct platform_device *pdev = to_platform_device(hsotg->dev); + + if (hsotg->plat->phy_exit) + hsotg->plat->phy_exit(pdev, S5P_USB_PHY_DEVICE); +} + static int s3c_hsotg_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *)) { @@ -3320,8 +3353,9 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev) clk_enable(hsotg->clk); - if (plat->phy_init) - plat->phy_init(pdev, S5P_USB_PHY_DEVICE); + /* usb phy enable */ + + s3c_hsotg_phy_enable(hsotg); s3c_hsotg_corereset(hsotg); s3c_hsotg_init(hsotg); @@ -3342,8 +3376,7 @@ static int __devinit s3c_hsotg_probe(struct platform_device *pdev) return 0; err_add_udc: - if (plat->phy_exit) - plat->phy_exit(pdev, S5P_USB_PHY_DEVICE); + s3c_hsotg_phy_disable(hsotg); clk_disable(hsotg->clk); clk_put(hsotg->clk); @@ -3364,7 +3397,6 @@ err_mem: static int __devexit s3c_hsotg_remove(struct platform_device *pdev) { struct s3c_hsotg *hsotg = platform_get_drvdata(pdev); - struct s3c_hsotg_plat *plat = hsotg->plat; usb_del_gadget_udc(&hsotg->gadget); @@ -3378,8 +3410,7 @@ static int __devexit s3c_hsotg_remove(struct platform_device *pdev) release_resource(hsotg->regs_res); kfree(hsotg->regs_res); - if (plat->phy_exit) - plat->phy_exit(pdev, S5P_USB_PHY_DEVICE); + s3c_hsotg_phy_disable(hsotg); clk_disable(hsotg->clk); clk_put(hsotg->clk); -- 1.7.2.3 -- 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