Lines Matching refs:sensor

190 static int atk_read_value(struct atk_sensor_data *sensor, u64 *value);
455 static int atk_read_value_old(struct atk_sensor_data *sensor, u64 *value) in atk_read_value_old() argument
457 struct atk_data *data = sensor->data; in atk_read_value_old()
464 switch (sensor->type) { in atk_read_value_old()
479 id.integer.value = sensor->id; in atk_read_value_old()
608 static int atk_read_value_new(struct atk_sensor_data *sensor, u64 *value) in atk_read_value_new() argument
610 struct atk_data *data = sensor->data; in atk_read_value_new()
616 obj = atk_gitm(data, sensor->id); in atk_read_value_new()
627 dev_warn(dev, "Read failed, sensor = %#llx\n", sensor->id); in atk_read_value_new()
638 static int atk_read_value(struct atk_sensor_data *sensor, u64 *value) in atk_read_value() argument
642 if (!sensor->is_valid || in atk_read_value()
643 time_after(jiffies, sensor->last_updated + CACHE_TIME)) { in atk_read_value()
644 if (sensor->data->old_interface) in atk_read_value()
645 err = atk_read_value_old(sensor, value); in atk_read_value()
647 err = atk_read_value_new(sensor, value); in atk_read_value()
649 sensor->is_valid = true; in atk_read_value()
650 sensor->last_updated = jiffies; in atk_read_value()
651 sensor->cached_value = *value; in atk_read_value()
653 *value = sensor->cached_value; in atk_read_value()
851 struct atk_sensor_data *sensor; in atk_add_sensor() local
912 sensor = kzalloc(sizeof(*sensor), GFP_KERNEL); in atk_add_sensor()
913 if (!sensor) in atk_add_sensor()
916 sensor->acpi_name = kstrdup(name->string.pointer, GFP_KERNEL); in atk_add_sensor()
917 if (!sensor->acpi_name) { in atk_add_sensor()
922 INIT_LIST_HEAD(&sensor->list); in atk_add_sensor()
923 sensor->type = type; in atk_add_sensor()
924 sensor->data = data; in atk_add_sensor()
925 sensor->id = flags->integer.value; in atk_add_sensor()
926 sensor->limit1 = limit1->integer.value; in atk_add_sensor()
928 sensor->limit2 = limit2->integer.value; in atk_add_sensor()
931 sensor->limit2 = sensor->limit1 + limit2->integer.value; in atk_add_sensor()
933 snprintf(sensor->input_attr_name, ATTR_NAME_SIZE, in atk_add_sensor()
935 atk_init_attribute(&sensor->input_attr, in atk_add_sensor()
936 sensor->input_attr_name, in atk_add_sensor()
939 snprintf(sensor->label_attr_name, ATTR_NAME_SIZE, in atk_add_sensor()
941 atk_init_attribute(&sensor->label_attr, in atk_add_sensor()
942 sensor->label_attr_name, in atk_add_sensor()
945 snprintf(sensor->limit1_attr_name, ATTR_NAME_SIZE, in atk_add_sensor()
947 atk_init_attribute(&sensor->limit1_attr, in atk_add_sensor()
948 sensor->limit1_attr_name, in atk_add_sensor()
951 snprintf(sensor->limit2_attr_name, ATTR_NAME_SIZE, in atk_add_sensor()
953 atk_init_attribute(&sensor->limit2_attr, in atk_add_sensor()
954 sensor->limit2_attr_name, in atk_add_sensor()
957 list_add(&sensor->list, &data->sensor_list); in atk_add_sensor()
962 kfree(sensor); in atk_add_sensor()