From 748c654a6ba890e9a1b5bd29d0f198ce6b2c091f Mon Sep 17 00:00:00 2001 From: John Crispin 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 Cc: Gabor Juhos --- 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 + 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