diff options
author | Stephen Boyd <sboyd@kernel.org> | 2018-04-06 23:38:08 +0300 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2018-04-06 23:38:08 +0300 |
commit | b44c4ddf4a15c42a91a88aaa32b7d53cf43391cb (patch) | |
tree | 04dbcb069c73c3c1fd82d177c50f44fac75beff1 /include | |
parent | a339bdf64a7c41a6c88cc7da2eb432c876d5ce19 (diff) | |
parent | 5ced1923128470bda20d454cc6b07a8aa2f2e64d (diff) | |
download | linux-b44c4ddf4a15c42a91a88aaa32b7d53cf43391cb.tar.xz |
Merge branch 'clk-davinci' into clk-next
* clk-davinci:
clk: davinci: add a reset lookup table for psc0
reset: modify the way reset lookup works for board files
reset: add support for non-DT systems
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/reset-controller.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h index adb88f8cefbc..9326d671b6e6 100644 --- a/include/linux/reset-controller.h +++ b/include/linux/reset-controller.h @@ -27,12 +27,38 @@ struct device_node; struct of_phandle_args; /** + * struct reset_control_lookup - represents a single lookup entry + * + * @list: internal list of all reset lookup entries + * @provider: name of the 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; + const char *provider; + unsigned int index; + const char *dev_id; + const char *con_id; +}; + +#define RESET_LOOKUP(_provider, _index, _dev_id, _con_id) \ + { \ + .provider = _provider, \ + .index = _index, \ + .dev_id = _dev_id, \ + .con_id = _con_id, \ + } + +/** * struct reset_controller_dev - reset controller entity that might * provide multiple reset controls * @ops: a pointer to device specific struct reset_control_ops * @owner: kernel module of the reset controller driver * @list: internal list of reset controller devices * @reset_control_head: head of internal list of requested reset controls + * @dev: corresponding driver model device struct * @of_node: corresponding device tree node as phandle target * @of_reset_n_cells: number of cells in reset line specifiers * @of_xlate: translation function to translate from specifier as found in the @@ -44,6 +70,7 @@ struct reset_controller_dev { struct module *owner; struct list_head list; struct list_head reset_control_head; + struct device *dev; struct device_node *of_node; int of_reset_n_cells; int (*of_xlate)(struct reset_controller_dev *rcdev, @@ -58,4 +85,7 @@ struct device; int devm_reset_controller_register(struct device *dev, struct reset_controller_dev *rcdev); +void reset_controller_add_lookup(struct reset_control_lookup *lookup, + unsigned int num_entries); + #endif |