From: Patrice Chotard Date: Tue, 18 Jul 2017 09:57:05 +0000 (+0200) Subject: reset: add reset_request() X-Git-Tag: v2017.09-rc1~32^2~54 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9bd5cdf6b62b249dc48a00a23b44dc7be547f9f9;p=u-boot 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 Reviewed-by: Simon Glass --- 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. *