[PATCH] ath10k: fix build error when hwmon is off
Rajkumar Manoharan
rmanohar at qti.qualcomm.com
Wed Dec 24 03:24:00 PST 2014
Place hwmon APIs inside CONFIG_HWMON switch to fix undefined
errors when hwmon is not enabled.
ERROR: "devm_hwmon_device_register_with_groups"
[drivers/net/wireless/ath/ath10k/ath10k_core.ko] undefined!
Reported-by: Kalle Valo <kvalo at qca.qualcomm.com>
Signed-off-by: Rajkumar Manoharan <rmanohar at qti.qualcomm.com>
---
drivers/net/wireless/ath/ath10k/thermal.c | 8 ++++++++
drivers/net/wireless/ath/ath10k/thermal.h | 7 +++++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath10k/thermal.c b/drivers/net/wireless/ath/ath10k/thermal.c
index d939135..7e982e4 100644
--- a/drivers/net/wireless/ath/ath10k/thermal.c
+++ b/drivers/net/wireless/ath/ath10k/thermal.c
@@ -121,6 +121,7 @@ static struct thermal_cooling_device_ops ath10k_thermal_ops = {
.set_cur_state = ath10k_thermal_set_cur_dutycycle,
};
+#ifdef CONFIG_HWMON
static ssize_t ath10k_thermal_show_temp(struct device *dev,
struct device_attribute *attr,
char *buf)
@@ -182,11 +183,14 @@ static struct attribute *ath10k_hwmon_attrs[] = {
NULL,
};
ATTRIBUTE_GROUPS(ath10k_hwmon);
+#endif
int ath10k_thermal_register(struct ath10k *ar)
{
struct thermal_cooling_device *cdev;
+#ifdef CONFIG_HWMON
struct device *hwmon_dev;
+#endif
int ret;
cdev = thermal_cooling_device_register("ath10k_thermal", ar,
@@ -207,6 +211,7 @@ int ath10k_thermal_register(struct ath10k *ar)
ar->thermal.cdev = cdev;
+#ifdef CONFIG_HWMON
/* Do not register hwmon device when temperature reading is not
* supported by firmware
*/
@@ -222,10 +227,13 @@ int ath10k_thermal_register(struct ath10k *ar)
ret = -EINVAL;
goto err_remove_link;
}
+#endif
return 0;
+#ifdef CONFIG_HWMON
err_remove_link:
sysfs_remove_link(&ar->dev->kobj, "thermal_sensor");
+#endif
err_cooling_destroy:
thermal_cooling_device_unregister(cdev);
return ret;
diff --git a/drivers/net/wireless/ath/ath10k/thermal.h b/drivers/net/wireless/ath/ath10k/thermal.h
index bccc17a..9607e1a 100644
--- a/drivers/net/wireless/ath/ath10k/thermal.h
+++ b/drivers/net/wireless/ath/ath10k/thermal.h
@@ -38,7 +38,6 @@ struct ath10k_thermal {
#ifdef CONFIG_THERMAL
int ath10k_thermal_register(struct ath10k *ar);
void ath10k_thermal_unregister(struct ath10k *ar);
-void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
#else
static inline int ath10k_thermal_register(struct ath10k *ar)
{
@@ -49,10 +48,14 @@ static inline void ath10k_thermal_unregister(struct ath10k *ar)
{
}
+#endif /* CONFIG_THERMAL */
+#ifdef CONFIG_HWMON
+void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
+#else
static inline void ath10k_thermal_event_temperature(struct ath10k *ar,
int temperature)
{
}
-#endif
+#endif /* CONFIG_HWMON */
#endif /* _THERMAL_ */
--
2.2.1
More information about the ath10k
mailing list