Commit b92cee80 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Greg Kroah-Hartman

reset: make device_reset_optional() really optional

commit 1554bbd4 upstream.

Commit bb475230 ("reset: make optional functions really optional")
converted *_get_optional* functions, but device_reset_optional() was
left behind.  Convert it in the same way.
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 99bfa7bc
...@@ -566,17 +566,18 @@ EXPORT_SYMBOL_GPL(__devm_reset_control_get); ...@@ -566,17 +566,18 @@ EXPORT_SYMBOL_GPL(__devm_reset_control_get);
* device_reset - find reset controller associated with the device * device_reset - find reset controller associated with the device
* and perform reset * and perform reset
* @dev: device to be reset by the controller * @dev: device to be reset by the controller
* @optional: whether it is optional to reset the device
* *
* Convenience wrapper for reset_control_get() and reset_control_reset(). * Convenience wrapper for __reset_control_get() and reset_control_reset().
* This is useful for the common case of devices with single, dedicated reset * This is useful for the common case of devices with single, dedicated reset
* lines. * lines.
*/ */
int device_reset(struct device *dev) int __device_reset(struct device *dev, bool optional)
{ {
struct reset_control *rstc; struct reset_control *rstc;
int ret; int ret;
rstc = reset_control_get(dev, NULL); rstc = __reset_control_get(dev, NULL, 0, 0, optional);
if (IS_ERR(rstc)) if (IS_ERR(rstc))
return PTR_ERR(rstc); return PTR_ERR(rstc);
...@@ -586,7 +587,7 @@ int device_reset(struct device *dev) ...@@ -586,7 +587,7 @@ int device_reset(struct device *dev)
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(device_reset); EXPORT_SYMBOL_GPL(__device_reset);
/** /**
* APIs to manage an array of reset controls. * APIs to manage an array of reset controls.
......
...@@ -20,22 +20,16 @@ struct reset_control *__reset_control_get(struct device *dev, const char *id, ...@@ -20,22 +20,16 @@ struct reset_control *__reset_control_get(struct device *dev, const char *id,
int index, bool shared, int index, bool shared,
bool optional); bool optional);
void reset_control_put(struct reset_control *rstc); void reset_control_put(struct reset_control *rstc);
int __device_reset(struct device *dev, bool optional);
struct reset_control *__devm_reset_control_get(struct device *dev, struct reset_control *__devm_reset_control_get(struct device *dev,
const char *id, int index, bool shared, const char *id, int index, bool shared,
bool optional); bool optional);
int __must_check device_reset(struct device *dev);
struct reset_control *devm_reset_control_array_get(struct device *dev, struct reset_control *devm_reset_control_array_get(struct device *dev,
bool shared, bool optional); bool shared, bool optional);
struct reset_control *of_reset_control_array_get(struct device_node *np, struct reset_control *of_reset_control_array_get(struct device_node *np,
bool shared, bool optional); bool shared, bool optional);
static inline int device_reset_optional(struct device *dev)
{
return device_reset(dev);
}
#else #else
static inline int reset_control_reset(struct reset_control *rstc) static inline int reset_control_reset(struct reset_control *rstc)
...@@ -62,15 +56,9 @@ static inline void reset_control_put(struct reset_control *rstc) ...@@ -62,15 +56,9 @@ static inline void reset_control_put(struct reset_control *rstc)
{ {
} }
static inline int __must_check device_reset(struct device *dev) static inline int __device_reset(struct device *dev, bool optional)
{ {
WARN_ON(1); return optional ? 0 : -ENOTSUPP;
return -ENOTSUPP;
}
static inline int device_reset_optional(struct device *dev)
{
return -ENOTSUPP;
} }
static inline struct reset_control *__of_reset_control_get( static inline struct reset_control *__of_reset_control_get(
...@@ -109,6 +97,16 @@ of_reset_control_array_get(struct device_node *np, bool shared, bool optional) ...@@ -109,6 +97,16 @@ of_reset_control_array_get(struct device_node *np, bool shared, bool optional)
#endif /* CONFIG_RESET_CONTROLLER */ #endif /* CONFIG_RESET_CONTROLLER */
static inline int __must_check device_reset(struct device *dev)
{
return __device_reset(dev, false);
}
static inline int device_reset_optional(struct device *dev)
{
return __device_reset(dev, true);
}
/** /**
* reset_control_get_exclusive - Lookup and obtain an exclusive reference * reset_control_get_exclusive - Lookup and obtain an exclusive reference
* to a reset controller. * to a reset controller.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment