From 080f1a0c539180a88066fb004a8c31eefdf74161 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Fri, 9 Aug 2013 18:47:27 +0200 Subject: [PATCH 02/25] 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(+) --- a/include/linux/reset-controller.h +++ b/include/linux/reset-controller.h @@ -45,7 +45,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 --- 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 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