diff options
author | Biju Das <biju.das.jz@bp.renesas.com> | 2021-11-12 18:44:10 +0000 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2021-11-19 12:23:45 +0100 |
commit | c4f5b30dda01f2f6979a9681142de454991182ee (patch) | |
tree | 6a6131afb82ffa901089ed0603e0c84e31b9d57f | |
parent | fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf (diff) | |
download | linux-c4f5b30dda01f2f6979a9681142de454991182ee.tar.gz linux-c4f5b30dda01f2f6979a9681142de454991182ee.tar.bz2 linux-c4f5b30dda01f2f6979a9681142de454991182ee.zip |
reset: Add of_reset_control_get_optional_exclusive()
Add optional variant of of_reset_control_get_exclusive(). If the
requested reset is not specified in the device tree, this function
returns NULL instead of an error.
Suggested-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20211112184413.4391-2-biju.das.jz@bp.renesas.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r-- | include/linux/reset.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h index db0e6115a2f6..8a21b5756c3e 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h @@ -455,6 +455,26 @@ static inline struct reset_control *of_reset_control_get_exclusive( } /** + * of_reset_control_get_optional_exclusive - Lookup and obtain an optional exclusive + * reference to a reset controller. + * @node: device to be reset by the controller + * @id: reset line name + * + * Optional variant of of_reset_control_get_exclusive(). If the requested reset + * is not specified in the device tree, this function returns NULL instead of + * an error. + * + * Returns a struct reset_control or IS_ERR() condition containing errno. + * + * Use of id names is optional. + */ +static inline struct reset_control *of_reset_control_get_optional_exclusive( + struct device_node *node, const char *id) +{ + return __of_reset_control_get(node, id, 0, false, true, true); +} + +/** * of_reset_control_get_shared - Lookup and obtain a shared reference * to a reset controller. * @node: device to be reset by the controller |