Search Linux Wireless

[PATCH] ath10k: fix build error when hwmon is off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxx>
Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux