Lines Matching defs:wdev

111 	struct wmi_device *wdev;
132 static int dell_wmi_ddv_query_type(struct wmi_device *wdev, enum dell_ddv_method method, u32 arg,
143 ret = wmidev_evaluate_method(wdev, 0x0, method, &in, &out);
161 static int dell_wmi_ddv_query_integer(struct wmi_device *wdev, enum dell_ddv_method method,
167 ret = dell_wmi_ddv_query_type(wdev, method, arg, &obj, ACPI_TYPE_INTEGER);
181 static int dell_wmi_ddv_query_buffer(struct wmi_device *wdev, enum dell_ddv_method method,
188 ret = dell_wmi_ddv_query_type(wdev, method, arg, &obj, ACPI_TYPE_PACKAGE);
209 dev_warn(&wdev->dev,
227 static int dell_wmi_ddv_query_string(struct wmi_device *wdev, enum dell_ddv_method method,
230 return dell_wmi_ddv_query_type(wdev, method, arg, result, ACPI_TYPE_STRING);
236 static int dell_wmi_ddv_update_sensors(struct wmi_device *wdev, enum dell_ddv_method method,
252 ret = dell_wmi_ddv_query_buffer(wdev, method, 0, &obj);
294 ret = dell_wmi_ddv_update_sensors(data->wdev, DELL_DDV_FAN_SENSOR_INFORMATION,
320 ret = dell_wmi_ddv_update_sensors(data->wdev, DELL_DDV_THERMAL_SENSOR_INFORMATION,
377 ret = dell_wmi_ddv_update_sensors(data->wdev, DELL_DDV_FAN_SENSOR_INFORMATION,
408 ret = dell_wmi_ddv_update_sensors(data->wdev, DELL_DDV_THERMAL_SENSOR_INFORMATION,
541 static struct hwmon_channel_info *dell_wmi_ddv_channel_init(struct wmi_device *wdev,
551 ret = dell_wmi_ddv_update_sensors(wdev, method, sensors, entry_size);
558 ret = devm_add_action_or_reset(&wdev->dev, dell_wmi_ddv_hwmon_cache_destroy, sensors);
562 info = dell_wmi_ddv_channel_create(&wdev->dev, sensors->entries, type, config);
564 devm_release_action(&wdev->dev, dell_wmi_ddv_hwmon_cache_destroy, sensors);
571 struct wmi_device *wdev = data->wdev;
578 if (!devres_open_group(&wdev->dev, dell_wmi_ddv_hwmon_add, GFP_KERNEL))
581 cinfo = devm_kzalloc(&wdev->dev, struct_size(cinfo, info, 4), GFP_KERNEL);
591 info = dell_wmi_ddv_channel_create(&wdev->dev, 1, hwmon_chip, HWMON_C_REGISTER_TZ);
601 info = dell_wmi_ddv_channel_init(wdev, DELL_DDV_FAN_SENSOR_INFORMATION, &data->fans,
609 info = dell_wmi_ddv_channel_init(wdev, DELL_DDV_THERMAL_SENSOR_INFORMATION, &data->temps,
625 hdev = devm_hwmon_device_register_with_info(&wdev->dev, "dell_ddv", data, &cinfo->chip,
633 devres_close_group(&wdev->dev, dell_wmi_ddv_hwmon_add);
638 devres_release_group(&wdev->dev, dell_wmi_ddv_hwmon_add);
664 ret = dell_wmi_ddv_query_integer(data->wdev, DELL_DDV_BATTERY_TEMPERATURE, index, &value);
683 ret = dell_wmi_ddv_query_string(data->wdev, DELL_DDV_BATTERY_EPPID, index, &obj);
688 dev_info_once(&data->wdev->dev, FW_INFO "Suspicious ePPID length (%d)\n",
758 return devm_add_action_or_reset(&data->wdev->dev, dell_wmi_ddv_battery_remove, &data->hook);
770 ret = dell_wmi_ddv_query_buffer(data->wdev, method, 0, &obj);
799 static void dell_wmi_ddv_debugfs_init(struct wmi_device *wdev)
804 scnprintf(name, ARRAY_SIZE(name), "%s-%s", DRIVER_NAME, dev_name(&wdev->dev));
807 debugfs_create_devm_seqfile(&wdev->dev, "fan_sensor_information", entry,
809 debugfs_create_devm_seqfile(&wdev->dev, "thermal_sensor_information", entry,
812 devm_add_action_or_reset(&wdev->dev, dell_wmi_ddv_debugfs_remove, entry);
815 static int dell_wmi_ddv_probe(struct wmi_device *wdev, const void *context)
821 ret = dell_wmi_ddv_query_integer(wdev, DELL_DDV_INTERFACE_VERSION, 0, &version);
825 dev_dbg(&wdev->dev, "WMI interface version: %d\n", version);
830 dev_warn(&wdev->dev, "Loading despite unsupported WMI interface version (%u)\n",
834 data = devm_kzalloc(&wdev->dev, sizeof(*data), GFP_KERNEL);
838 dev_set_drvdata(&wdev->dev, data);
839 data->wdev = wdev;
841 dell_wmi_ddv_debugfs_init(wdev);
846 dev_warn(&wdev->dev, "Unable to register ACPI battery hook: %d\n", ret);
852 dev_warn(&wdev->dev, "Unable to register hwmon interface: %d\n", ret);