summaryrefslogtreecommitdiff
path: root/include/linux/reset-controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/reset-controller.h')
-rw-r--r--include/linux/reset-controller.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h
index adb88f8cefbc..25698f6c1fae 100644
--- a/include/linux/reset-controller.h
+++ b/include/linux/reset-controller.h
@@ -27,6 +27,30 @@ struct device_node;
struct of_phandle_args;
/**
+ * struct reset_control_lookup - represents a single lookup entry
+ *
+ * @list: internal list of all reset lookup entries
+ * @rcdev: reset controller device controlling this reset line
+ * @index: ID of the reset controller in the reset controller device
+ * @dev_id: name of the device associated with this reset line
+ * @con_id name of the reset line (can be NULL)
+ */
+struct reset_control_lookup {
+ struct list_head list;
+ struct reset_controller_dev *rcdev;
+ unsigned int index;
+ const char *dev_id;
+ const char *con_id;
+};
+
+#define RESET_LOOKUP(_dev_id, _con_id, _index) \
+ { \
+ .dev_id = _dev_id, \
+ .con_id = _con_id, \
+ .index = _index, \
+ }
+
+/**
* struct reset_controller_dev - reset controller entity that might
* provide multiple reset controls
* @ops: a pointer to device specific struct reset_control_ops
@@ -58,4 +82,8 @@ struct device;
int devm_reset_controller_register(struct device *dev,
struct reset_controller_dev *rcdev);
+void reset_controller_add_lookup(struct reset_controller_dev *rcdev,
+ struct reset_control_lookup *lookup,
+ unsigned int num_entries);
+
#endif