1#ifndef _LINUX_RESET_H_ 2#define _LINUX_RESET_H_ 3 4struct device; 5struct device_node; 6struct reset_control; 7 8#ifdef CONFIG_RESET_CONTROLLER 9 10int reset_control_reset(struct reset_control *rstc); 11int reset_control_assert(struct reset_control *rstc); 12int reset_control_deassert(struct reset_control *rstc); 13int reset_control_status(struct reset_control *rstc); 14 15struct reset_control *reset_control_get(struct device *dev, const char *id); 16void reset_control_put(struct reset_control *rstc); 17struct reset_control *devm_reset_control_get(struct device *dev, const char *id); 18 19int __must_check device_reset(struct device *dev); 20 21static inline int device_reset_optional(struct device *dev) 22{ 23 return device_reset(dev); 24} 25 26static inline struct reset_control *reset_control_get_optional( 27 struct device *dev, const char *id) 28{ 29 return reset_control_get(dev, id); 30} 31 32static inline struct reset_control *devm_reset_control_get_optional( 33 struct device *dev, const char *id) 34{ 35 return devm_reset_control_get(dev, id); 36} 37 38struct reset_control *of_reset_control_get(struct device_node *node, 39 const char *id); 40 41#else 42 43static inline int reset_control_reset(struct reset_control *rstc) 44{ 45 WARN_ON(1); 46 return 0; 47} 48 49static inline int reset_control_assert(struct reset_control *rstc) 50{ 51 WARN_ON(1); 52 return 0; 53} 54 55static inline int reset_control_deassert(struct reset_control *rstc) 56{ 57 WARN_ON(1); 58 return 0; 59} 60 61static inline int reset_control_status(struct reset_control *rstc) 62{ 63 WARN_ON(1); 64 return 0; 65} 66 67static inline void reset_control_put(struct reset_control *rstc) 68{ 69 WARN_ON(1); 70} 71 72static inline int device_reset_optional(struct device *dev) 73{ 74 return -ENOSYS; 75} 76 77static inline struct reset_control *__must_check reset_control_get( 78 struct device *dev, const char *id) 79{ 80 WARN_ON(1); 81 return ERR_PTR(-EINVAL); 82} 83 84static inline struct reset_control *__must_check devm_reset_control_get( 85 struct device *dev, const char *id) 86{ 87 WARN_ON(1); 88 return ERR_PTR(-EINVAL); 89} 90 91static inline struct reset_control *reset_control_get_optional( 92 struct device *dev, const char *id) 93{ 94 return ERR_PTR(-ENOSYS); 95} 96 97static inline struct reset_control *devm_reset_control_get_optional( 98 struct device *dev, const char *id) 99{ 100 return ERR_PTR(-ENOSYS); 101} 102 103static inline struct reset_control *of_reset_control_get( 104 struct device_node *node, const char *id) 105{ 106 return ERR_PTR(-ENOSYS); 107} 108 109#endif /* CONFIG_RESET_CONTROLLER */ 110 111#endif 112