reset: Return -ENOTSUPP when not configured
authorJohn Youn <johnyoun@synopsys.com>
Tue, 31 May 2016 23:55:01 +0000 (16:55 -0700)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 1 Jun 2016 06:21:08 +0000 (08:21 +0200)
Prior to commit 6c96f05c8bb8 ("reset: Make [of_]reset_control_get[_foo]
functions wrappers"), the "optional" functions returned -ENOTSUPP when
CONFIG_RESET_CONTROLLER was not set.

Revert back to the old behavior by changing the new
__devm_reset_control_get() and __of_reset_control_get() functions to
return ERR_PTR(-ENOTSUPP) when compiled without CONFIG_RESET_CONTROLLER.

Otherwise they will return -EINVAL causing users to think that an error
occurred when CONFIG_RESET_CONTROLLER is not set.

Fixes: 6c96f05c8bb8 ("reset: Make [of_]reset_control_get[_foo] functions wrappers")
Signed-off-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
include/linux/reset.h

index ec0306ce7b92ab6f0e4bb420347ca9301b1355e3..067db57c81dc4a91ae102281d49ce8fe1631f892 100644 (file)
@@ -71,14 +71,14 @@ static inline struct reset_control *__of_reset_control_get(
                                        struct device_node *node,
                                        const char *id, int index, int shared)
 {
-       return ERR_PTR(-EINVAL);
+       return ERR_PTR(-ENOTSUPP);
 }
 
 static inline struct reset_control *__devm_reset_control_get(
                                        struct device *dev,
                                        const char *id, int index, int shared)
 {
-       return ERR_PTR(-EINVAL);
+       return ERR_PTR(-ENOTSUPP);
 }
 
 #endif /* CONFIG_RESET_CONTROLLER */