Commit d90223ac authored by Chunfeng Yun's avatar Chunfeng Yun Committed by Felipe Balbi

usb: mtu3: remove dummy wakeup debounce clocks

The wakeup debounce clocks for each ports in fact are not
needed, so remove them.
Signed-off-by: default avatarChunfeng Yun <chunfeng.yun@mediatek.com>
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent 076f1a89
...@@ -214,8 +214,6 @@ struct otg_switch_mtk { ...@@ -214,8 +214,6 @@ struct otg_switch_mtk {
* disable u3port0, bit1==1 to disable u3port1,... etc * disable u3port0, bit1==1 to disable u3port1,... etc
* @dbgfs_root: only used when supports manual dual-role switch via debugfs * @dbgfs_root: only used when supports manual dual-role switch via debugfs
* @wakeup_en: it's true when supports remote wakeup in host mode * @wakeup_en: it's true when supports remote wakeup in host mode
* @wk_deb_p0: port0's wakeup debounce clock
* @wk_deb_p1: it's optional, and depends on port1 is supported or not
*/ */
struct ssusb_mtk { struct ssusb_mtk {
struct device *dev; struct device *dev;
...@@ -238,8 +236,6 @@ struct ssusb_mtk { ...@@ -238,8 +236,6 @@ struct ssusb_mtk {
struct dentry *dbgfs_root; struct dentry *dbgfs_root;
/* usb wakeup for host mode */ /* usb wakeup for host mode */
bool wakeup_en; bool wakeup_en;
struct clk *wk_deb_p0;
struct clk *wk_deb_p1;
struct regmap *pericfg; struct regmap *pericfg;
}; };
......
...@@ -79,20 +79,6 @@ int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb, ...@@ -79,20 +79,6 @@ int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb,
if (!ssusb->wakeup_en) if (!ssusb->wakeup_en)
return 0; return 0;
ssusb->wk_deb_p0 = devm_clk_get(dev, "wakeup_deb_p0");
if (IS_ERR(ssusb->wk_deb_p0)) {
dev_err(dev, "fail to get wakeup_deb_p0\n");
return PTR_ERR(ssusb->wk_deb_p0);
}
if (of_property_read_bool(dn, "wakeup_deb_p1")) {
ssusb->wk_deb_p1 = devm_clk_get(dev, "wakeup_deb_p1");
if (IS_ERR(ssusb->wk_deb_p1)) {
dev_err(dev, "fail to get wakeup_deb_p1\n");
return PTR_ERR(ssusb->wk_deb_p1);
}
}
ssusb->pericfg = syscon_regmap_lookup_by_phandle(dn, ssusb->pericfg = syscon_regmap_lookup_by_phandle(dn,
"mediatek,syscon-wakeup"); "mediatek,syscon-wakeup");
if (IS_ERR(ssusb->pericfg)) { if (IS_ERR(ssusb->pericfg)) {
...@@ -103,36 +89,6 @@ int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb, ...@@ -103,36 +89,6 @@ int ssusb_wakeup_of_property_parse(struct ssusb_mtk *ssusb,
return 0; return 0;
} }
static int ssusb_wakeup_clks_enable(struct ssusb_mtk *ssusb)
{
int ret;
ret = clk_prepare_enable(ssusb->wk_deb_p0);
if (ret) {
dev_err(ssusb->dev, "failed to enable wk_deb_p0\n");
goto usb_p0_err;
}
ret = clk_prepare_enable(ssusb->wk_deb_p1);
if (ret) {
dev_err(ssusb->dev, "failed to enable wk_deb_p1\n");
goto usb_p1_err;
}
return 0;
usb_p1_err:
clk_disable_unprepare(ssusb->wk_deb_p0);
usb_p0_err:
return -EINVAL;
}
static void ssusb_wakeup_clks_disable(struct ssusb_mtk *ssusb)
{
clk_disable_unprepare(ssusb->wk_deb_p1);
clk_disable_unprepare(ssusb->wk_deb_p0);
}
static void host_ports_num_get(struct ssusb_mtk *ssusb) static void host_ports_num_get(struct ssusb_mtk *ssusb)
{ {
u32 xhci_cap; u32 xhci_cap;
...@@ -286,19 +242,14 @@ void ssusb_host_exit(struct ssusb_mtk *ssusb) ...@@ -286,19 +242,14 @@ void ssusb_host_exit(struct ssusb_mtk *ssusb)
int ssusb_wakeup_enable(struct ssusb_mtk *ssusb) int ssusb_wakeup_enable(struct ssusb_mtk *ssusb)
{ {
int ret = 0; if (ssusb->wakeup_en)
if (ssusb->wakeup_en) {
ret = ssusb_wakeup_clks_enable(ssusb);
ssusb_wakeup_ip_sleep_en(ssusb); ssusb_wakeup_ip_sleep_en(ssusb);
}
return ret; return 0;
} }
void ssusb_wakeup_disable(struct ssusb_mtk *ssusb) void ssusb_wakeup_disable(struct ssusb_mtk *ssusb)
{ {
if (ssusb->wakeup_en) { if (ssusb->wakeup_en)
ssusb_wakeup_ip_sleep_dis(ssusb); ssusb_wakeup_ip_sleep_dis(ssusb);
ssusb_wakeup_clks_disable(ssusb);
}
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment