Lines Matching defs:device

35 static int acpi_fan_suspend(struct device *dev);
36 static int acpi_fan_resume(struct device *dev);
85 /* thermal cooling device callbacks */
89 struct acpi_device *device = cdev->devdata;
90 struct acpi_fan *fan = acpi_driver_data(device);
99 static int fan_get_state_acpi4(struct acpi_device *device, unsigned long *state)
102 struct acpi_fan *fan = acpi_driver_data(device);
107 status = acpi_evaluate_object(device->handle, "_FST", NULL, &buffer);
109 dev_err(&device->dev, "Get fan state failed\n");
117 dev_err(&device->dev, "Invalid _FST data\n");
138 dev_dbg(&device->dev, "Invalid control value returned\n");
150 static int fan_get_state(struct acpi_device *device, unsigned long *state)
155 result = acpi_device_update_power(device, &acpi_state);
168 struct acpi_device *device = cdev->devdata;
169 struct acpi_fan *fan = acpi_driver_data(device);
172 return fan_get_state_acpi4(device, state);
174 return fan_get_state(device, state);
177 static int fan_set_state(struct acpi_device *device, unsigned long state)
182 return acpi_device_set_power(device,
186 static int fan_set_state_acpi4(struct acpi_device *device, unsigned long state)
188 struct acpi_fan *fan = acpi_driver_data(device);
194 status = acpi_execute_simple_method(device->handle, "_FSL",
197 dev_dbg(&device->dev, "Failed to set state by _FSL\n");
207 struct acpi_device *device = cdev->devdata;
208 struct acpi_fan *fan = acpi_driver_data(device);
211 return fan_set_state_acpi4(device, state);
213 return fan_set_state(device, state);
227 static bool acpi_fan_is_acpi4(struct acpi_device *device)
229 return acpi_has_method(device->handle, "_FIF") &&
230 acpi_has_method(device->handle, "_FPS") &&
231 acpi_has_method(device->handle, "_FSL") &&
232 acpi_has_method(device->handle, "_FST");
235 static int acpi_fan_get_fif(struct acpi_device *device)
238 struct acpi_fan *fan = acpi_driver_data(device);
244 status = acpi_evaluate_object(device->handle, "_FIF", NULL, &buffer);
250 dev_err(&device->dev, "Invalid _FIF data\n");
257 dev_err(&device->dev, "Invalid _FIF element\n");
273 static ssize_t show_state(struct device *dev, struct device_attribute *attr, char *buf)
306 static int acpi_fan_get_fps(struct acpi_device *device)
308 struct acpi_fan *fan = acpi_driver_data(device);
314 status = acpi_evaluate_object(device->handle, "_FPS", NULL, &buffer);
320 dev_err(&device->dev, "Invalid _FPS data\n");
326 fan->fps = devm_kcalloc(&device->dev,
330 dev_err(&device->dev, "Not enough memory\n");
341 dev_err(&device->dev, "Invalid _FPS element\n");
359 status = sysfs_create_file(&device->dev.kobj, &fps->dev_attr.attr);
364 sysfs_remove_file(&device->dev.kobj, &fan->fps[j].dev_attr.attr);
379 struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
384 dev_err(&device->dev, "No memory for fan\n");
387 device->driver_data = fan;
390 if (acpi_fan_is_acpi4(device)) {
391 result = acpi_fan_get_fif(device);
395 result = acpi_fan_get_fps(device);
401 result = acpi_device_update_power(device, NULL);
403 dev_err(&device->dev, "Failed to set initial power state\n");
411 name = acpi_device_bid(device);
413 cdev = thermal_cooling_device_register(name, device,
424 &cdev->device.kobj,
429 result = sysfs_create_link(&cdev->device.kobj,
431 "device");
433 dev_err(&pdev->dev, "Failed to create sysfs link 'device'\n");
444 sysfs_remove_file(&device->dev.kobj, &fan->fps[i].dev_attr.attr);
455 struct acpi_device *device = ACPI_COMPANION(&pdev->dev);
459 sysfs_remove_file(&device->dev.kobj, &fan->fps[i].dev_attr.attr);
462 sysfs_remove_link(&fan->cdev->device.kobj, "device");
469 static int acpi_fan_suspend(struct device *dev)
480 static int acpi_fan_resume(struct device *dev)