Messages in this thread Patch in this message | | | From | sathyanarayanan.kuppuswamy@linux ... | Subject | [PATCH v3 1/1] mux: consumer: Add dummy functions for !CONFIG_MULTIPLEXER case | Date | Thu, 13 Jul 2017 16:52:40 -0700 |
| |
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Add dummy functions to avoid compile time issues when CONFIG_MULTIPLEXER is not enabled.
Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> --- include/linux/mux/consumer.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)
Changes since v1: * Changed #ifdef to #if IS_ENABLED.
Changes since v2: * Addressed issues reported by Peter and Andy. * Return 0 for mux_control_states(). * Return -EINVAL for control select()/deselect() calls. * Added static inline for all dummy functions.
diff --git a/include/linux/mux/consumer.h b/include/linux/mux/consumer.h index 5577e1b..dc0cb7d 100644 --- a/include/linux/mux/consumer.h +++ b/include/linux/mux/consumer.h @@ -16,6 +16,8 @@ struct device; struct mux_control; +#if IS_ENABLED(CONFIG_MULTIPLEXER) + unsigned int mux_control_states(struct mux_control *mux); int __must_check mux_control_select(struct mux_control *mux, unsigned int state); @@ -29,4 +31,44 @@ void mux_control_put(struct mux_control *mux); struct mux_control *devm_mux_control_get(struct device *dev, const char *mux_name); +#else + +static inline unsigned int mux_control_states(struct mux_control *mux) +{ + return 0; +} + +static inline int __must_check mux_control_select(struct mux_control *mux, + unsigned int state) +{ + return -EINVAL; +} + +static inline int __must_check mux_control_try_select(struct mux_control *mux, + unsigned int state) +{ + return -EINVAL; +} + +static inline int mux_control_deselect(struct mux_control *mux) +{ + return -EINVAL; +} + +static inline struct mux_control *mux_control_get(struct device *dev, + const char *mux_name) +{ + return ERR_PTR(-ENODEV); +} + +static inline void mux_control_put(struct mux_control *mux) {} + +static inline struct mux_control *devm_mux_control_get(struct device *dev, + const char *mux_name) +{ + return ERR_PTR(-ENODEV); +} + +#endif /* CONFIG_MULTIPLEXER */ + #endif /* _LINUX_MUX_CONSUMER_H */ -- 2.7.4
| |