From: Patrice Chotard <patrice.chotard@st.com>
Date: Tue, 18 Jul 2017 09:57:05 +0000 (+0200)
Subject: reset: add reset_request()
X-Git-Tag: v2025.01-rc5-pxa1908~6211^2~54
X-Git-Url: http://git.dujemihanovic.xyz/login.html?a=commitdiff_plain;h=9bd5cdf6b62b249dc48a00a23b44dc7be547f9f9;p=u-boot.git

reset: add reset_request()

This is needed in error path to assert previously deasserted
reset by using a saved reset_ctl reference.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c
index de3695ffaa..4fd82b9cd9 100644
--- a/drivers/reset/reset-uclass.c
+++ b/drivers/reset/reset-uclass.c
@@ -97,6 +97,15 @@ int reset_get_by_name(struct udevice *dev, const char *name,
 	return reset_get_by_index(dev, index, reset_ctl);
 }
 
+int reset_request(struct reset_ctl *reset_ctl)
+{
+	struct reset_ops *ops = reset_dev_ops(reset_ctl->dev);
+
+	debug("%s(reset_ctl=%p)\n", __func__, reset_ctl);
+
+	return ops->request(reset_ctl);
+}
+
 int reset_free(struct reset_ctl *reset_ctl)
 {
 	struct reset_ops *ops = reset_dev_ops(reset_ctl->dev);
diff --git a/include/reset.h b/include/reset.h
index f45fcf88c4..4f2e35f38f 100644
--- a/include/reset.h
+++ b/include/reset.h
@@ -99,6 +99,15 @@ int reset_get_by_index(struct udevice *dev, int index,
 int reset_get_by_name(struct udevice *dev, const char *name,
 		      struct reset_ctl *reset_ctl);
 
+/**
+ * reset_request - Request a reset signal.
+ *
+ * @reset_ctl:	A reset control struct.
+ *
+ * @return 0 if OK, or a negative error code.
+ */
+int reset_request(struct reset_ctl *reset_ctl);
+
 /**
  * reset_free - Free a previously requested reset signal.
  *