Lines Matching refs:device

47 static int acpi_fan_suspend(struct device *dev);
48 static int acpi_fan_resume(struct device *dev);
97 struct acpi_device *device = cdev->devdata; in fan_get_max_state() local
98 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_max_state()
107 static int fan_get_state_acpi4(struct acpi_device *device, unsigned long *state) in fan_get_state_acpi4() argument
110 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_state_acpi4()
115 status = acpi_evaluate_object(device->handle, "_FST", NULL, &buffer); in fan_get_state_acpi4()
117 dev_err(&device->dev, "Get fan state failed\n"); in fan_get_state_acpi4()
125 dev_err(&device->dev, "Invalid _FST data\n"); in fan_get_state_acpi4()
136 dev_dbg(&device->dev, "Invalid control value returned\n"); in fan_get_state_acpi4()
148 static int fan_get_state(struct acpi_device *device, unsigned long *state) in fan_get_state() argument
153 result = acpi_device_update_power(device, &acpi_state); in fan_get_state()
166 struct acpi_device *device = cdev->devdata; in fan_get_cur_state() local
167 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_cur_state()
170 return fan_get_state_acpi4(device, state); in fan_get_cur_state()
172 return fan_get_state(device, state); in fan_get_cur_state()
175 static int fan_set_state(struct acpi_device *device, unsigned long state) in fan_set_state() argument
180 return acpi_device_set_power(device, in fan_set_state()
184 static int fan_set_state_acpi4(struct acpi_device *device, unsigned long state) in fan_set_state_acpi4() argument
186 struct acpi_fan *fan = acpi_driver_data(device); in fan_set_state_acpi4()
192 status = acpi_execute_simple_method(device->handle, "_FSL", in fan_set_state_acpi4()
195 dev_dbg(&device->dev, "Failed to set state by _FSL\n"); in fan_set_state_acpi4()
205 struct acpi_device *device = cdev->devdata; in fan_set_cur_state() local
206 struct acpi_fan *fan = acpi_driver_data(device); in fan_set_cur_state()
209 return fan_set_state_acpi4(device, state); in fan_set_cur_state()
211 return fan_set_state(device, state); in fan_set_cur_state()
225 static bool acpi_fan_is_acpi4(struct acpi_device *device) in acpi_fan_is_acpi4() argument
227 return acpi_has_method(device->handle, "_FIF") && in acpi_fan_is_acpi4()
228 acpi_has_method(device->handle, "_FPS") && in acpi_fan_is_acpi4()
229 acpi_has_method(device->handle, "_FSL") && in acpi_fan_is_acpi4()
230 acpi_has_method(device->handle, "_FST"); in acpi_fan_is_acpi4()
233 static int acpi_fan_get_fif(struct acpi_device *device) in acpi_fan_get_fif() argument
236 struct acpi_fan *fan = acpi_driver_data(device); in acpi_fan_get_fif()
242 status = acpi_evaluate_object(device->handle, "_FIF", NULL, &buffer); in acpi_fan_get_fif()
248 dev_err(&device->dev, "Invalid _FIF data\n"); in acpi_fan_get_fif()
255 dev_err(&device->dev, "Invalid _FIF element\n"); in acpi_fan_get_fif()
271 static int acpi_fan_get_fps(struct acpi_device *device) in acpi_fan_get_fps() argument
273 struct acpi_fan *fan = acpi_driver_data(device); in acpi_fan_get_fps()
279 status = acpi_evaluate_object(device->handle, "_FPS", NULL, &buffer); in acpi_fan_get_fps()
285 dev_err(&device->dev, "Invalid _FPS data\n"); in acpi_fan_get_fps()
291 fan->fps = devm_kzalloc(&device->dev, in acpi_fan_get_fps()
295 dev_err(&device->dev, "Not enough memory\n"); in acpi_fan_get_fps()
305 dev_err(&device->dev, "Invalid _FPS element\n"); in acpi_fan_get_fps()
324 struct acpi_device *device = ACPI_COMPANION(&pdev->dev); in acpi_fan_probe() local
329 dev_err(&device->dev, "No memory for fan\n"); in acpi_fan_probe()
332 device->driver_data = fan; in acpi_fan_probe()
335 if (acpi_fan_is_acpi4(device)) { in acpi_fan_probe()
336 if (acpi_fan_get_fif(device) || acpi_fan_get_fps(device)) in acpi_fan_probe()
340 result = acpi_device_update_power(device, NULL); in acpi_fan_probe()
342 dev_err(&device->dev, "Setting initial power state\n"); in acpi_fan_probe()
350 name = acpi_device_bid(device); in acpi_fan_probe()
352 cdev = thermal_cooling_device_register(name, device, in acpi_fan_probe()
363 &cdev->device.kobj, in acpi_fan_probe()
368 result = sysfs_create_link(&cdev->device.kobj, in acpi_fan_probe()
383 sysfs_remove_link(&fan->cdev->device.kobj, "device"); in acpi_fan_remove()
390 static int acpi_fan_suspend(struct device *dev) in acpi_fan_suspend()
401 static int acpi_fan_resume(struct device *dev) in acpi_fan_resume()