Lines Matching refs:sensors

266 				       struct dell_wmi_ddv_sensors *sensors, size_t entry_size)  in dell_wmi_ddv_update_sensors()  argument
273 if (sensors->obj) { in dell_wmi_ddv_update_sensors()
274 if (time_before(jiffies, sensors->timestamp + HZ)) in dell_wmi_ddv_update_sensors()
277 kfree(sensors->obj); in dell_wmi_ddv_update_sensors()
278 sensors->obj = NULL; in dell_wmi_ddv_update_sensors()
299 sensors->obj = obj; in dell_wmi_ddv_update_sensors()
300 sensors->entries = entries; in dell_wmi_ddv_update_sensors()
301 sensors->timestamp = jiffies; in dell_wmi_ddv_update_sensors()
550 static void dell_wmi_ddv_hwmon_cache_invalidate(struct dell_wmi_ddv_sensors *sensors) in dell_wmi_ddv_hwmon_cache_invalidate() argument
552 if (!sensors->active) in dell_wmi_ddv_hwmon_cache_invalidate()
555 mutex_lock(&sensors->lock); in dell_wmi_ddv_hwmon_cache_invalidate()
556 kfree(sensors->obj); in dell_wmi_ddv_hwmon_cache_invalidate()
557 sensors->obj = NULL; in dell_wmi_ddv_hwmon_cache_invalidate()
558 mutex_unlock(&sensors->lock); in dell_wmi_ddv_hwmon_cache_invalidate()
563 struct dell_wmi_ddv_sensors *sensors = data; in dell_wmi_ddv_hwmon_cache_destroy() local
565 sensors->active = false; in dell_wmi_ddv_hwmon_cache_destroy()
566 mutex_destroy(&sensors->lock); in dell_wmi_ddv_hwmon_cache_destroy()
567 kfree(sensors->obj); in dell_wmi_ddv_hwmon_cache_destroy()
572 struct dell_wmi_ddv_sensors *sensors, in dell_wmi_ddv_channel_init() argument
580 ret = dell_wmi_ddv_update_sensors(wdev, method, sensors, entry_size); in dell_wmi_ddv_channel_init()
584 mutex_init(&sensors->lock); in dell_wmi_ddv_channel_init()
585 sensors->active = true; in dell_wmi_ddv_channel_init()
587 ret = devm_add_action_or_reset(&wdev->dev, dell_wmi_ddv_hwmon_cache_destroy, sensors); in dell_wmi_ddv_channel_init()
591 info = dell_wmi_ddv_channel_create(&wdev->dev, sensors->entries, type, config); in dell_wmi_ddv_channel_init()
593 devm_release_action(&wdev->dev, dell_wmi_ddv_hwmon_cache_destroy, sensors); in dell_wmi_ddv_channel_init()