diff options
Diffstat (limited to 'include/linux/reset.h')
| -rw-r--r-- | include/linux/reset.h | 31 | 
1 files changed, 16 insertions, 15 deletions
diff --git a/include/linux/reset.h b/include/linux/reset.h index 86b4ed75359e..13d8681210d5 100644 --- a/include/linux/reset.h +++ b/include/linux/reset.h @@ -15,6 +15,9 @@ int reset_control_status(struct reset_control *rstc);  struct reset_control *__of_reset_control_get(struct device_node *node,  				     const char *id, int index, bool shared,  				     bool optional); +struct reset_control *__reset_control_get(struct device *dev, const char *id, +					  int index, bool shared, +					  bool optional);  void reset_control_put(struct reset_control *rstc);  struct reset_control *__devm_reset_control_get(struct device *dev,  				     const char *id, int index, bool shared, @@ -31,31 +34,26 @@ static inline int device_reset_optional(struct device *dev)  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 int reset_control_status(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 __must_check device_reset(struct device *dev) @@ -74,14 +72,21 @@ static inline struct reset_control *__of_reset_control_get(  					const char *id, int index, bool shared,  					bool optional)  { -	return ERR_PTR(-ENOTSUPP); +	return optional ? NULL : ERR_PTR(-ENOTSUPP); +} + +static inline struct reset_control *__reset_control_get( +					struct device *dev, const char *id, +					int index, bool shared, bool optional) +{ +	return optional ? NULL : ERR_PTR(-ENOTSUPP);  }  static inline struct reset_control *__devm_reset_control_get(  					struct device *dev, const char *id,  					int index, bool shared, bool optional)  { -	return ERR_PTR(-ENOTSUPP); +	return optional ? NULL : ERR_PTR(-ENOTSUPP);  }  #endif /* CONFIG_RESET_CONTROLLER */ @@ -107,8 +112,7 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)  #ifndef CONFIG_RESET_CONTROLLER  	WARN_ON(1);  #endif -	return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, false, -									false); +	return __reset_control_get(dev, id, 0, false, false);  }  /** @@ -136,22 +140,19 @@ __must_check reset_control_get_exclusive(struct device *dev, const char *id)  static inline struct reset_control *reset_control_get_shared(  					struct device *dev, const char *id)  { -	return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, true, -									false); +	return __reset_control_get(dev, id, 0, true, false);  }  static inline struct reset_control *reset_control_get_optional_exclusive(  					struct device *dev, const char *id)  { -	return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, false, -									true); +	return __reset_control_get(dev, id, 0, false, true);  }  static inline struct reset_control *reset_control_get_optional_shared(  					struct device *dev, const char *id)  { -	return __of_reset_control_get(dev ? dev->of_node : NULL, id, 0, true, -									true); +	return __reset_control_get(dev, id, 0, true, true);  }  /**  | 
