Lines Matching refs:jz4740_ohci
32 static inline struct usb_hcd *jz4740_hcd_to_hcd(struct jz4740_ohci_hcd *jz4740_ohci) in jz4740_hcd_to_hcd() argument
34 return container_of((void *)jz4740_ohci, struct usb_hcd, hcd_priv); in jz4740_hcd_to_hcd()
58 static int ohci_jz4740_set_vbus_power(struct jz4740_ohci_hcd *jz4740_ohci, in ohci_jz4740_set_vbus_power() argument
63 if (!jz4740_ohci->vbus) in ohci_jz4740_set_vbus_power()
66 if (enabled && !jz4740_ohci->vbus_enabled) { in ohci_jz4740_set_vbus_power()
67 ret = regulator_enable(jz4740_ohci->vbus); in ohci_jz4740_set_vbus_power()
69 dev_err(jz4740_hcd_to_hcd(jz4740_ohci)->self.controller, in ohci_jz4740_set_vbus_power()
71 } else if (!enabled && jz4740_ohci->vbus_enabled) { in ohci_jz4740_set_vbus_power()
72 ret = regulator_disable(jz4740_ohci->vbus); in ohci_jz4740_set_vbus_power()
76 jz4740_ohci->vbus_enabled = enabled; in ohci_jz4740_set_vbus_power()
84 struct jz4740_ohci_hcd *jz4740_ohci = hcd_to_jz4740_hcd(hcd); in ohci_jz4740_hub_control() local
90 ret = ohci_jz4740_set_vbus_power(jz4740_ohci, true); in ohci_jz4740_hub_control()
94 ret = ohci_jz4740_set_vbus_power(jz4740_ohci, false); in ohci_jz4740_hub_control()
152 struct jz4740_ohci_hcd *jz4740_ohci; in jz4740_ohci_probe() local
168 jz4740_ohci = hcd_to_jz4740_hcd(hcd); in jz4740_ohci_probe()
179 jz4740_ohci->clk = devm_clk_get(&pdev->dev, "uhc"); in jz4740_ohci_probe()
180 if (IS_ERR(jz4740_ohci->clk)) { in jz4740_ohci_probe()
181 ret = PTR_ERR(jz4740_ohci->clk); in jz4740_ohci_probe()
186 jz4740_ohci->vbus = devm_regulator_get(&pdev->dev, "vbus"); in jz4740_ohci_probe()
187 if (IS_ERR(jz4740_ohci->vbus)) in jz4740_ohci_probe()
188 jz4740_ohci->vbus = NULL; in jz4740_ohci_probe()
191 clk_set_rate(jz4740_ohci->clk, 48000000); in jz4740_ohci_probe()
192 clk_enable(jz4740_ohci->clk); in jz4740_ohci_probe()
193 if (jz4740_ohci->vbus) in jz4740_ohci_probe()
194 ohci_jz4740_set_vbus_power(jz4740_ohci, true); in jz4740_ohci_probe()
210 if (jz4740_ohci->vbus) in jz4740_ohci_probe()
211 regulator_disable(jz4740_ohci->vbus); in jz4740_ohci_probe()
212 clk_disable(jz4740_ohci->clk); in jz4740_ohci_probe()
223 struct jz4740_ohci_hcd *jz4740_ohci = hcd_to_jz4740_hcd(hcd); in jz4740_ohci_remove() local
227 if (jz4740_ohci->vbus) in jz4740_ohci_remove()
228 regulator_disable(jz4740_ohci->vbus); in jz4740_ohci_remove()
230 clk_disable(jz4740_ohci->clk); in jz4740_ohci_remove()