aboutsummaryrefslogtreecommitdiffstats
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;
27struct of_phandle_args; 27struct of_phandle_args;
28 28
29/** 29/**
30 * struct reset_control_lookup - represents a single lookup entry
31 *
32 * @list: internal list of all reset lookup entries
33 * @rcdev: reset controller device controlling this reset line
34 * @index: ID of the reset controller in the reset controller device
35 * @dev_id: name of the device associated with this reset line
36 * @con_id name of the reset line (can be NULL)
37 */
38struct reset_control_lookup {
39 struct list_head list;
40 struct reset_controller_dev *rcdev;
41 unsigned int index;
42 const char *dev_id;
43 const char *con_id;
44};
45
46#define RESET_LOOKUP(_dev_id, _con_id, _index) \
47 { \
48 .dev_id = _dev_id, \
49 .con_id = _con_id, \
50 .index = _index, \
51 }
52
53/**
30 * struct reset_controller_dev - reset controller entity that might 54 * struct reset_controller_dev - reset controller entity that might
31 * provide multiple reset controls 55 * provide multiple reset controls
32 * @ops: a pointer to device specific struct reset_control_ops 56 * @ops: a pointer to device specific struct reset_control_ops
@@ -58,4 +82,8 @@ struct device;
58int devm_reset_controller_register(struct device *dev, 82int devm_reset_controller_register(struct device *dev,
59 struct reset_controller_dev *rcdev); 83 struct reset_controller_dev *rcdev);
60 84
85void reset_controller_add_lookup(struct reset_controller_dev *rcdev,
86 struct reset_control_lookup *lookup,
87 unsigned int num_entries);
88
61#endif 89#endif