Lines Matching full:sensors
236 struct dell_wmi_ddv_sensors *sensors, size_t entry_size) in dell_wmi_ddv_update_sensors() argument
243 if (sensors->obj) { in dell_wmi_ddv_update_sensors()
244 if (time_before(jiffies, sensors->timestamp + HZ)) in dell_wmi_ddv_update_sensors()
247 kfree(sensors->obj); in dell_wmi_ddv_update_sensors()
248 sensors->obj = NULL; in dell_wmi_ddv_update_sensors()
269 sensors->obj = obj; in dell_wmi_ddv_update_sensors()
270 sensors->entries = entries; in dell_wmi_ddv_update_sensors()
271 sensors->timestamp = jiffies; in dell_wmi_ddv_update_sensors()
520 static void dell_wmi_ddv_hwmon_cache_invalidate(struct dell_wmi_ddv_sensors *sensors) in dell_wmi_ddv_hwmon_cache_invalidate() argument
522 if (!sensors->active) in dell_wmi_ddv_hwmon_cache_invalidate()
525 mutex_lock(&sensors->lock); in dell_wmi_ddv_hwmon_cache_invalidate()
526 kfree(sensors->obj); in dell_wmi_ddv_hwmon_cache_invalidate()
527 sensors->obj = NULL; in dell_wmi_ddv_hwmon_cache_invalidate()
528 mutex_unlock(&sensors->lock); in dell_wmi_ddv_hwmon_cache_invalidate()
533 struct dell_wmi_ddv_sensors *sensors = data; in dell_wmi_ddv_hwmon_cache_destroy() local
535 sensors->active = false; in dell_wmi_ddv_hwmon_cache_destroy()
536 mutex_destroy(&sensors->lock); in dell_wmi_ddv_hwmon_cache_destroy()
537 kfree(sensors->obj); in dell_wmi_ddv_hwmon_cache_destroy()
542 struct dell_wmi_ddv_sensors *sensors, in dell_wmi_ddv_channel_init() argument
550 ret = dell_wmi_ddv_update_sensors(wdev, method, sensors, entry_size); in dell_wmi_ddv_channel_init()
554 mutex_init(&sensors->lock); in dell_wmi_ddv_channel_init()
555 sensors->active = true; in dell_wmi_ddv_channel_init()
557 ret = devm_add_action_or_reset(&wdev->dev, dell_wmi_ddv_hwmon_cache_destroy, sensors); in dell_wmi_ddv_channel_init()
561 info = dell_wmi_ddv_channel_create(&wdev->dev, sensors->entries, type, config); in dell_wmi_ddv_channel_init()
563 devm_release_action(&wdev->dev, dell_wmi_ddv_hwmon_cache_destroy, sensors); in dell_wmi_ddv_channel_init()
618 /* Finding no available sensors is not an error */ in dell_wmi_ddv_hwmon_add()
870 /* Force re-reading of all active sensors */ in dell_wmi_ddv_resume()