- sensors = get_all_sensors(use_libatasmart, 600);
-#ifdef HAVE_NVIDIA
- sensors = nvidia_psensor_list_add(sensors, 600);
-#endif
-#ifdef HAVE_LIBATIADL
- sensors = amd_psensor_list_add(sensors, 600);
-#endif
-#ifdef HAVE_GTOP
- sensors = cpu_psensor_list_add(sensors, 600);
-#endif
+ sensors = malloc(sizeof(struct psensor *));
+ *sensors = NULL;
+
+ if (config_is_lmsensor_enabled())
+ lmsensor_psensor_list_append(&sensors, 600);
+
+ if (config_is_hddtemp_enabled())
+ hddtemp_psensor_list_append(&sensors, 600);
+
+ if (config_is_libatasmart_enabled())
+ atasmart_psensor_list_append(&sensors, 600);
+
+ if (config_is_nvctrl_enabled())
+ nvidia_psensor_list_append(&sensors, 600);
+
+ if (config_is_atiadlsdk_enabled())
+ amd_psensor_list_append(&sensors, 600);
+
+ if (config_is_gtop2_enabled())
+ gtop2_psensor_list_append(&sensors, 600);
+
+ if (config_is_udisks2_enabled())
+ udisks2_psensor_list_append(&sensors, 600);
+
+ bcm2835_psensor_list_append(&sensors, 600);