diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-03-27 01:28:19 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-03-27 01:28:19 +0100 |
commit | 463e8474af8317c3bfc0dc95b0d003e11e847b40 (patch) | |
tree | e83b8de6826d81e5f01f26cb486fbc82bb5e8169 /include/linux/reset.h | |
parent | b80a6373d6cf7cbd22498409cef7883d7f8209c4 (diff) | |
parent | b424080a9e086e683ad5fdc624a7cf3c024e0c0f (diff) |
Merge branch 'reset/for_v3.15' of git://git.pengutronix.de/git/pza/linux into next/drivers
Merge "reset controller fixes and updates" from Philipp Zabel:
* 'reset/for_v3.15' of git://git.pengutronix.de/git/pza/linux:
reset: Add optional resets and stubs
reset: Add of_reset_control_get
reset: Mark function as static and remove unused function in core.c
reset: allow drivers to request probe deferral
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/reset.h')
-rw-r--r-- | include/linux/reset.h | 65 |
1 files changed, 64 insertions, 1 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h index 6082247feab..c0eda5023d7 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h @@ -4,6 +4,8 @@ struct device; struct reset_control; +#ifdef CONFIG_RESET_CONTROLLER + int reset_control_reset(struct reset_control *rstc); int reset_control_assert(struct reset_control *rstc); int reset_control_deassert(struct reset_control *rstc); @@ -12,6 +14,67 @@ struct reset_control *reset_control_get(struct device *dev, const char *id); void reset_control_put(struct reset_control *rstc); struct reset_control *devm_reset_control_get(struct device *dev, const char *id); -int device_reset(struct device *dev); +int __must_check device_reset(struct device *dev); + +static inline int device_reset_optional(struct device *dev) +{ + return device_reset(dev); +} + +static inline struct reset_control *reset_control_get_optional( + struct device *dev, const char *id) +{ + return reset_control_get(dev, id); +} + +static inline struct reset_control *devm_reset_control_get_optional( + struct device *dev, const char *id) +{ + return devm_reset_control_get(dev, id); +} + +#else + +static inline int reset_control_reset(struct reset_control *rstc) +{ + WARN_ON(1); + return 0; +} + +static inline int reset_control_assert(struct reset_control *rstc) +{ + WARN_ON(1); + return 0; +} + +static inline int reset_control_deassert(struct reset_control *rstc) +{ + WARN_ON(1); + return 0; +} + +static inline void reset_control_put(struct reset_control *rstc) +{ + WARN_ON(1); +} + +static inline int device_reset_optional(struct device *dev) +{ + return -ENOSYS; +} + +static inline struct reset_control *reset_control_get_optional( + struct device *dev, const char *id) +{ + return ERR_PTR(-ENOSYS); +} + +static inline struct reset_control *devm_reset_control_get_optional( + struct device *dev, const char *id) +{ + return ERR_PTR(-ENOSYS); +} + +#endif /* CONFIG_RESET_CONTROLLER */ #endif |