diff options
Diffstat (limited to 'target/linux/lantiq/patches-3.14/0029-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch')
-rw-r--r-- | target/linux/lantiq/patches-3.14/0029-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/target/linux/lantiq/patches-3.14/0029-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch b/target/linux/lantiq/patches-3.14/0029-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch new file mode 100644 index 0000000000..ca9dd5a369 --- /dev/null +++ b/target/linux/lantiq/patches-3.14/0029-reset-Fix-compile-when-reset-RESET_CONTROLLER-is-not.patch @@ -0,0 +1,112 @@ +From 748c654a6ba890e9a1b5bd29d0f198ce6b2c091f Mon Sep 17 00:00:00 2001 +From: John Crispin <blogic@openwrt.org> +Date: Fri, 9 Aug 2013 18:47:27 +0200 +Subject: [PATCH 29/31] reset: Fix compile when reset RESET_CONTROLLER is not + selected + +Drivers need to protect their reset api calls with #ifdef to avoid compile +errors. + +This patch adds dummy wrappers in the same way that linux/of.h does it. + +Cc: linux-kernel@vger.kernel.org +Cc: Philipp Zabel <p.zabel@pengutronix.de> +Cc: Gabor Juhos <juhosg@openwrt.org> +--- + include/linux/reset-controller.h | 16 ++++++++++++++ + include/linux/reset.h | 43 ++++++++++++++++++++++++++++++++++++++ + 2 files changed, 59 insertions(+) + +diff --git a/include/linux/reset-controller.h b/include/linux/reset-controller.h +index 41a4695..f38f530 100644 +--- a/include/linux/reset-controller.h ++++ b/include/linux/reset-controller.h +@@ -46,7 +46,23 @@ struct reset_controller_dev { + unsigned int nr_resets; + }; + ++#if defined(CONFIG_RESET_CONTROLLER) ++ + int reset_controller_register(struct reset_controller_dev *rcdev); + void reset_controller_unregister(struct reset_controller_dev *rcdev); + ++#else ++ ++static inline int reset_controller_register(struct reset_controller_dev *rcdev) ++{ ++ return -ENOSYS; ++} ++ ++void reset_controller_unregister(struct reset_controller_dev *rcdev) ++{ ++ ++} ++ ++#endif ++ + #endif +diff --git a/include/linux/reset.h b/include/linux/reset.h +index 6082247..1b36c9e 100644 +--- a/include/linux/reset.h ++++ b/include/linux/reset.h +@@ -1,9 +1,13 @@ + #ifndef _LINUX_RESET_H_ + #define _LINUX_RESET_H_ + ++#include <linux/err.h> ++ + struct device; + struct reset_control; + ++#if defined(CONFIG_RESET_CONTROLLER) ++ + int reset_control_reset(struct reset_control *rstc); + int reset_control_assert(struct reset_control *rstc); + int reset_control_deassert(struct reset_control *rstc); +@@ -14,4 +18,43 @@ struct reset_control *devm_reset_control_get(struct device *dev, const char *id) + + int device_reset(struct device *dev); + ++#else /* CONFIG_RESET_CONTROLLER */ ++ ++static inline int reset_control_reset(struct reset_control *rstc) ++{ ++ return -ENOSYS; ++} ++ ++static inline int reset_control_assert(struct reset_control *rstc) ++{ ++ return -ENOSYS; ++} ++ ++static inline int reset_control_deassert(struct reset_control *rstc) ++{ ++ return -ENOSYS; ++} ++ ++static inline struct reset_control *reset_control_get(struct device *dev, const char *id) ++{ ++ return ERR_PTR(-ENOSYS); ++} ++ ++static inline void reset_control_put(struct reset_control *rstc) ++{ ++ ++} ++ ++static inline struct reset_control *devm_reset_control_get(struct device *dev, const char *id) ++{ ++ return ERR_PTR(-ENOSYS); ++} ++ ++static inline int device_reset(struct device *dev) ++{ ++ return -ENOSYS; ++} ++ ++#endif ++ + #endif +-- +1.7.10.4 + |