Encapsulate the Samsung PHY control and it's register accesses into the otg_phy_init() and otg_phy_off() functions.
Signed-off-by: Marek Vasut <ma...@denx.de> Cc: Chin Liang See <cl...@altera.com> Cc: Dinh Nguyen <dingu...@opensource.altera.com> Cc: Vince Bridgers <vbrid...@altera.com> Cc: Pavel Machek <pa...@denx.de> Cc: Stefan Roese <s...@denx.de> Cc: Lukasz Majewski <l.majew...@samsung.com> --- drivers/usb/gadget/s3c_udc_otg.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/s3c_udc_otg.c b/drivers/usb/gadget/s3c_udc_otg.c index 7508b1a..b808ddaf 100644 --- a/drivers/usb/gadget/s3c_udc_otg.c +++ b/drivers/usb/gadget/s3c_udc_otg.c @@ -145,8 +145,6 @@ static struct usb_ep_ops s3c_ep_ops = { void __iomem *regs_otg; struct s3c_usbotg_reg *reg; -struct s3c_usbotg_phy *phy; -static unsigned int usb_phy_ctrl; bool dfu_usb_get_reset(void) { @@ -155,6 +153,10 @@ bool dfu_usb_get_reset(void) void otg_phy_init(struct s3c_udc *dev) { + unsigned int usb_phy_ctrl = dev->pdata->usb_phy_ctrl; + struct s3c_usbotg_phy *phy = + (struct s3c_usbotg_phy *)dev->pdata->regs_phy; + dev->pdata->phy_control(1); /*USB PHY0 Enable */ @@ -189,6 +191,10 @@ void otg_phy_init(struct s3c_udc *dev) void otg_phy_off(struct s3c_udc *dev) { + unsigned int usb_phy_ctrl = dev->pdata->usb_phy_ctrl; + struct s3c_usbotg_phy *phy = + (struct s3c_usbotg_phy *)dev->pdata->regs_phy; + /* reset controller just in case */ writel(PHY_SW_RST0, &phy->rstcon); udelay(20); @@ -853,9 +859,7 @@ int s3c_udc_probe(struct s3c_plat_otg_data *pdata) dev->pdata = pdata; - phy = (struct s3c_usbotg_phy *)pdata->regs_phy; reg = (struct s3c_usbotg_reg *)pdata->regs_otg; - usb_phy_ctrl = pdata->usb_phy_ctrl; /* regs_otg = (void *)pdata->regs_otg; */ -- 2.0.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot