Lines Matching full:simple

3  * dwc3-of-simple.c - OF glue layer for simple integrations
36 struct dwc3_of_simple *simple; in dwc3_of_simple_probe() local
43 simple = devm_kzalloc(dev, sizeof(*simple), GFP_KERNEL); in dwc3_of_simple_probe()
44 if (!simple) in dwc3_of_simple_probe()
47 platform_set_drvdata(pdev, simple); in dwc3_of_simple_probe()
48 simple->dev = dev; in dwc3_of_simple_probe()
55 simple->need_reset = true; in dwc3_of_simple_probe()
60 simple->pulse_resets = true; in dwc3_of_simple_probe()
63 simple->resets = of_reset_control_array_get(np, shared_resets, true, in dwc3_of_simple_probe()
65 if (IS_ERR(simple->resets)) { in dwc3_of_simple_probe()
66 ret = PTR_ERR(simple->resets); in dwc3_of_simple_probe()
71 if (simple->pulse_resets) { in dwc3_of_simple_probe()
72 ret = reset_control_reset(simple->resets); in dwc3_of_simple_probe()
76 ret = reset_control_deassert(simple->resets); in dwc3_of_simple_probe()
81 ret = clk_bulk_get_all(simple->dev, &simple->clks); in dwc3_of_simple_probe()
85 simple->num_clocks = ret; in dwc3_of_simple_probe()
86 ret = clk_bulk_prepare_enable(simple->num_clocks, simple->clks); in dwc3_of_simple_probe()
101 clk_bulk_disable_unprepare(simple->num_clocks, simple->clks); in dwc3_of_simple_probe()
102 clk_bulk_put_all(simple->num_clocks, simple->clks); in dwc3_of_simple_probe()
105 if (!simple->pulse_resets) in dwc3_of_simple_probe()
106 reset_control_assert(simple->resets); in dwc3_of_simple_probe()
109 reset_control_put(simple->resets); in dwc3_of_simple_probe()
115 struct dwc3_of_simple *simple = platform_get_drvdata(pdev); in dwc3_of_simple_remove() local
120 clk_bulk_disable_unprepare(simple->num_clocks, simple->clks); in dwc3_of_simple_remove()
121 clk_bulk_put_all(simple->num_clocks, simple->clks); in dwc3_of_simple_remove()
122 simple->num_clocks = 0; in dwc3_of_simple_remove()
124 if (!simple->pulse_resets) in dwc3_of_simple_remove()
125 reset_control_assert(simple->resets); in dwc3_of_simple_remove()
127 reset_control_put(simple->resets); in dwc3_of_simple_remove()
138 struct dwc3_of_simple *simple = dev_get_drvdata(dev); in dwc3_of_simple_runtime_suspend() local
140 clk_bulk_disable(simple->num_clocks, simple->clks); in dwc3_of_simple_runtime_suspend()
147 struct dwc3_of_simple *simple = dev_get_drvdata(dev); in dwc3_of_simple_runtime_resume() local
149 return clk_bulk_enable(simple->num_clocks, simple->clks); in dwc3_of_simple_runtime_resume()
154 struct dwc3_of_simple *simple = dev_get_drvdata(dev); in dwc3_of_simple_suspend() local
156 if (simple->need_reset) in dwc3_of_simple_suspend()
157 reset_control_assert(simple->resets); in dwc3_of_simple_suspend()
164 struct dwc3_of_simple *simple = dev_get_drvdata(dev); in dwc3_of_simple_resume() local
166 if (simple->need_reset) in dwc3_of_simple_resume()
167 reset_control_deassert(simple->resets); in dwc3_of_simple_resume()
194 .name = "dwc3-of-simple",
202 MODULE_DESCRIPTION("DesignWare USB3 OF Simple Glue Layer");