summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2021-01-30 11:56:29 +0100
committerArnd Bergmann <arnd@arndb.de>2021-01-30 11:56:30 +0100
commit7cc623b85aef7a336152f5cfc28ef5622ded1351 (patch)
treec2c4ab9464939ec32a37e93a573c2a50f10fabc9 /include
parentMerge tag 'scmi-updates-5.12' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
parentreset: Add devm_reset_control_get_optional_exclusive_released() (diff)
downloadlinux-7cc623b85aef7a336152f5cfc28ef5622ded1351.tar.xz
linux-7cc623b85aef7a336152f5cfc28ef5622ded1351.zip
Merge tag 'reset-for-v5.12' of git://git.pengutronix.de/pza/linux into arm/drivers
Reset controller updates for v5.12 This tag adds support for Broadcom BCM4908 PCIe resets, corrects the Hisilicon vendor prefix, adds a missing API function devm_reset_control_get_optional_exclusive_released(), and fixes the kernel-doc markup for the __device_reset() function. * tag 'reset-for-v5.12' of git://git.pengutronix.de/pza/linux: reset: Add devm_reset_control_get_optional_exclusive_released() reset: core: fix a kernel-doc markup dt-bindings: reset: convert Hisilicon reset controller bindings to json-schema dt-bindings: reset: correct vendor prefix hisi to hisilicon reset: hisilicon: correct vendor prefix reset: simple: add BCM4908 MISC PCIe reset controller support dt-bindings: reset: document Broadcom's BCM4908 PCIe reset binding Link: https://lore.kernel.org/r/20210129153108.GA26994@pengutronix.de Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include')
-rw-r--r--include/linux/reset.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h
index 439fec7112a9..b9109efa2a5c 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -363,6 +363,25 @@ __must_check devm_reset_control_get_exclusive_released(struct device *dev,
}
/**
+ * devm_reset_control_get_optional_exclusive_released - resource managed
+ * reset_control_get_optional_exclusive_released()
+ * @dev: device to be reset by the controller
+ * @id: reset line name
+ *
+ * Managed-and-optional variant of reset_control_get_exclusive_released(). For
+ * reset controllers returned from this function, reset_control_put() is called
+ * automatically on driver detach.
+ *
+ * See reset_control_get_exclusive_released() for more information.
+ */
+static inline struct reset_control *
+__must_check devm_reset_control_get_optional_exclusive_released(struct device *dev,
+ const char *id)
+{
+ return __devm_reset_control_get(dev, id, 0, false, true, false);
+}
+
+/**
* devm_reset_control_get_shared - resource managed reset_control_get_shared()
* @dev: device to be reset by the controller
* @id: reset line name