1 #ifndef _LINUX_RESET_H_ 2 #define _LINUX_RESET_H_ 3 4 struct device; 5 struct device_node; 6 struct reset_control; 7 8 #ifdef CONFIG_RESET_CONTROLLER 9 10 int reset_control_reset(struct reset_control *rstc); 11 int reset_control_assert(struct reset_control *rstc); 12 int reset_control_deassert(struct reset_control *rstc); 13 int reset_control_status(struct reset_control *rstc); 14 15 struct reset_control *reset_control_get(struct device *dev, const char *id); 16 void reset_control_put(struct reset_control *rstc); 17 struct reset_control *devm_reset_control_get(struct device *dev, const char *id); 18 19 int __must_check device_reset(struct device *dev); 20 21 static inline int device_reset_optional(struct device *dev) 22 { 23 return device_reset(dev); 24 } 25 26 static 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 32 static 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 38 struct reset_control *of_reset_control_get(struct device_node *node, 39 const char *id); 40 41 #else 42 43 static inline int reset_control_reset(struct reset_control *rstc) 44 { 45 WARN_ON(1); 46 return 0; 47 } 48 49 static inline int reset_control_assert(struct reset_control *rstc) 50 { 51 WARN_ON(1); 52 return 0; 53 } 54 55 static inline int reset_control_deassert(struct reset_control *rstc) 56 { 57 WARN_ON(1); 58 return 0; 59 } 60 61 static inline int reset_control_status(struct reset_control *rstc) 62 { 63 WARN_ON(1); 64 return 0; 65 } 66 67 static inline void reset_control_put(struct reset_control *rstc) 68 { 69 WARN_ON(1); 70 } 71 72 static inline int device_reset_optional(struct device *dev) 73 { 74 return -ENOSYS; 75 } 76 77 static 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 84 static 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 91 static inline struct reset_control *reset_control_get_optional( 92 struct device *dev, const char *id) 93 { 94 return ERR_PTR(-ENOSYS); 95 } 96 97 static inline struct reset_control *devm_reset_control_get_optional( 98 struct device *dev, const char *id) 99 { 100 return ERR_PTR(-ENOSYS); 101 } 102 103 static 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