summaryrefslogtreecommitdiff
path: root/drivers/reset/sandbox-reset.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-09-30 16:11:11 -0400
committerTom Rini <trini@konsulko.com>2020-09-30 16:11:11 -0400
commit097bbf1ba97b8ece930deca663f05ea444e99e45 (patch)
treeae4db71e77556f34f9fa7023205e4284c1d72c38 /drivers/reset/sandbox-reset.c
parent01114adfc1e0bf3cf5e2f3da858bb2c8e9810c1c (diff)
parentc0dd177a9986b97dab42f07b3db0ed1d2fe6e540 (diff)
Merge branch '2020-09-30-add-new-apis' into next
- SCMI firmware support - regmap, GPIO, reset API enhancements
Diffstat (limited to 'drivers/reset/sandbox-reset.c')
-rw-r--r--drivers/reset/sandbox-reset.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/reset/sandbox-reset.c b/drivers/reset/sandbox-reset.c
index 7a6f7f676cc..08008d875ab 100644
--- a/drivers/reset/sandbox-reset.c
+++ b/drivers/reset/sandbox-reset.c
@@ -15,6 +15,7 @@
struct sandbox_reset_signal {
bool asserted;
+ bool requested;
};
struct sandbox_reset {
@@ -23,18 +24,24 @@ struct sandbox_reset {
static int sandbox_reset_request(struct reset_ctl *reset_ctl)
{
+ struct sandbox_reset *sbr = dev_get_priv(reset_ctl->dev);
+
debug("%s(reset_ctl=%p)\n", __func__, reset_ctl);
if (reset_ctl->id >= SANDBOX_RESET_SIGNALS)
return -EINVAL;
+ sbr->signals[reset_ctl->id].requested = true;
return 0;
}
static int sandbox_reset_free(struct reset_ctl *reset_ctl)
{
+ struct sandbox_reset *sbr = dev_get_priv(reset_ctl->dev);
+
debug("%s(reset_ctl=%p)\n", __func__, reset_ctl);
+ sbr->signals[reset_ctl->id].requested = false;
return 0;
}
@@ -107,3 +114,15 @@ int sandbox_reset_query(struct udevice *dev, unsigned long id)
return sbr->signals[id].asserted;
}
+
+int sandbox_reset_is_requested(struct udevice *dev, unsigned long id)
+{
+ struct sandbox_reset *sbr = dev_get_priv(dev);
+
+ debug("%s(dev=%p, id=%ld)\n", __func__, dev, id);
+
+ if (id >= SANDBOX_RESET_SIGNALS)
+ return -EINVAL;
+
+ return sbr->signals[id].requested;
+}