summaryrefslogtreecommitdiffstats
path: root/include/linux/reset.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/reset.h')
-rw-r--r--include/linux/reset.h53
1 files changed, 44 insertions, 9 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h
index 818b06412f..7db3d3162a 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -1,28 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
#ifndef _LINUX_RESET_H_
#define _LINUX_RESET_H_
-struct device_d;
+struct device;
struct reset_control;
#ifdef CONFIG_RESET_CONTROLLER
+int reset_control_status(struct reset_control *rstc);
int reset_control_reset(struct reset_control *rstc);
int reset_control_assert(struct reset_control *rstc);
int reset_control_deassert(struct reset_control *rstc);
-struct reset_control *reset_control_get(struct device_d *dev, const char *id);
+struct reset_control *reset_control_get(struct device *dev, const char *id);
struct reset_control *of_reset_control_get(struct device_node *node,
const char *id);
void reset_control_put(struct reset_control *rstc);
-int __must_check device_reset(struct device_d *dev);
+int __must_check device_reset(struct device *dev);
+
+int __must_check device_reset_us(struct device *dev, int us);
+
+int __must_check device_reset_all(struct device *dev);
-int __must_check device_reset_us(struct device_d *dev, int us);
+int reset_control_get_count(struct device *dev);
-int __must_check device_reset_all(struct device_d *dev);
+struct reset_control *reset_control_array_get(struct device *dev);
#else
+static inline int reset_control_status(struct reset_control *rstc)
+{
+ return 0;
+}
+
static inline int reset_control_reset(struct reset_control *rstc)
{
return 0;
@@ -39,7 +51,13 @@ static inline int reset_control_deassert(struct reset_control *rstc)
}
static inline struct reset_control *
-reset_control_get(struct device_d *dev, const char *id)
+of_reset_control_get(struct device_node *node, const char *id)
+{
+ return NULL;
+}
+
+static inline struct reset_control *
+reset_control_get(struct device *dev, const char *id)
{
return NULL;
}
@@ -48,21 +66,38 @@ static inline void reset_control_put(struct reset_control *rstc)
{
}
-static inline int device_reset_us(struct device_d *dev, int us)
+static inline int device_reset_us(struct device *dev, int us)
{
return 0;
}
-static inline int device_reset(struct device_d *dev)
+static inline int device_reset(struct device *dev)
{
return 0;
}
-static inline int device_reset_all(struct device_d *dev)
+static inline int device_reset_all(struct device *dev)
{
return 0;
}
+static inline int reset_control_get_count(struct device *dev)
+{
+ return 0;
+}
+
+static inline struct reset_control *reset_control_array_get(struct device *dev)
+{
+ return NULL;
+}
+
#endif /* CONFIG_RESET_CONTROLLER */
+static inline struct reset_control *reset_control_get_optional(struct device *dev,
+ const char *id)
+{
+ struct reset_control *rstc = reset_control_get(dev, id);
+ return rstc == ERR_PTR(-ENOENT) ? NULL : rstc;
+}
+
#endif