Thread (5 messages) flat view 5 messages, 4 authors, 2017-08-30

Re: [PATCH 1/2] clk: sunxi-ng: Provide a default reset hook

From: icenowy@aosc.io
Date: 2017-08-27 13:01:04
Also in: linux-arm-kernel, linux-clk, linux-mmc

在 2017-08-25 17:49,Maxime Ripard 写道:
The reset hook was left implemented. Provide a dumb implementation so 
that
client drivers can depend on it.
I think some clients should also convert to use this.

For example:

- The TCON driver in sun4i-drm. (It now uses reset_control_status, but
   this is also not implemented in CCU.)
- The EPHY in dwmac-sun8i driver. (It uses explicit assert then 
deassert)

P.S. maybe the status hook should also be implemented?
quoted hunk ↗ jump to hunk
Signed-off-by: Maxime Ripard <redacted>
---
 drivers/clk/sunxi-ng/ccu_reset.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/clk/sunxi-ng/ccu_reset.c 
b/drivers/clk/sunxi-ng/ccu_reset.c
index 6c31d48783a7..1dc4e98ea802 100644
--- a/drivers/clk/sunxi-ng/ccu_reset.c
+++ b/drivers/clk/sunxi-ng/ccu_reset.c
@@ -8,6 +8,7 @@
  * the License, or (at your option) any later version.
  */

+#include <linux/delay.h>
 #include <linux/io.h>
 #include <linux/reset-controller.h>
@@ -49,7 +50,18 @@ static int ccu_reset_deassert(struct
reset_controller_dev *rcdev,
 	return 0;
 }

+static int ccu_reset_reset(struct reset_controller_dev *rcdev,
+			   unsigned long id)
+{
+	ccu_reset_assert(rcdev, id);
+	udelay(10);
+	ccu_reset_deassert(rcdev, id);
+
+	return 0;
+}
+
 const struct reset_control_ops ccu_reset_ops = {
 	.assert		= ccu_reset_assert,
 	.deassert	= ccu_reset_deassert,
+	.reset		= ccu_reset_reset,
 };
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help