Lines Matching refs:device

51 static int acpi_fan_suspend(struct device *dev);
52 static int acpi_fan_resume(struct device *dev);
101 struct acpi_device *device = cdev->devdata; in fan_get_max_state() local
102 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_max_state()
111 static int fan_get_state_acpi4(struct acpi_device *device, unsigned long *state) in fan_get_state_acpi4() argument
114 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_state_acpi4()
119 status = acpi_evaluate_object(device->handle, "_FST", NULL, &buffer); in fan_get_state_acpi4()
121 dev_err(&device->dev, "Get fan state failed\n"); in fan_get_state_acpi4()
129 dev_err(&device->dev, "Invalid _FST data\n"); in fan_get_state_acpi4()
140 dev_dbg(&device->dev, "Invalid control value returned\n"); in fan_get_state_acpi4()
152 static int fan_get_state(struct acpi_device *device, unsigned long *state) in fan_get_state() argument
157 result = acpi_device_update_power(device, &acpi_state); in fan_get_state()
169 struct acpi_device *device = cdev->devdata; in fan_get_cur_state() local
170 struct acpi_fan *fan = acpi_driver_data(device); in fan_get_cur_state()
173 return fan_get_state_acpi4(device, state); in fan_get_cur_state()
175 return fan_get_state(device, state); in fan_get_cur_state()
178 static int fan_set_state(struct acpi_device *device, unsigned long state) in fan_set_state() argument
183 return acpi_device_set_power(device, in fan_set_state()
187 static int fan_set_state_acpi4(struct acpi_device *device, unsigned long state) in fan_set_state_acpi4() argument
189 struct acpi_fan *fan = acpi_driver_data(device); in fan_set_state_acpi4()
195 status = acpi_execute_simple_method(device->handle, "_FSL", in fan_set_state_acpi4()
198 dev_dbg(&device->dev, "Failed to set state by _FSL\n"); in fan_set_state_acpi4()
208 struct acpi_device *device = cdev->devdata; in fan_set_cur_state() local
209 struct acpi_fan *fan = acpi_driver_data(device); in fan_set_cur_state()
212 return fan_set_state_acpi4(device, state); in fan_set_cur_state()
214 return fan_set_state(device, state); in fan_set_cur_state()
228 static bool acpi_fan_is_acpi4(struct acpi_device *device) in acpi_fan_is_acpi4() argument
230 return acpi_has_method(device->handle, "_FIF") && in acpi_fan_is_acpi4()
231 acpi_has_method(device->handle, "_FPS") && in acpi_fan_is_acpi4()
232 acpi_has_method(device->handle, "_FSL") && in acpi_fan_is_acpi4()
233 acpi_has_method(device->handle, "_FST"); in acpi_fan_is_acpi4()
236 static int acpi_fan_get_fif(struct acpi_device *device) in acpi_fan_get_fif() argument
239 struct acpi_fan *fan = acpi_driver_data(device); in acpi_fan_get_fif()
245 status = acpi_evaluate_object(device->handle, "_FIF", NULL, &buffer); in acpi_fan_get_fif()
251 dev_err(&device->dev, "Invalid _FIF data\n"); in acpi_fan_get_fif()
258 dev_err(&device->dev, "Invalid _FIF element\n"); in acpi_fan_get_fif()
274 static int acpi_fan_get_fps(struct acpi_device *device) in acpi_fan_get_fps() argument
276 struct acpi_fan *fan = acpi_driver_data(device); in acpi_fan_get_fps()
282 status = acpi_evaluate_object(device->handle, "_FPS", NULL, &buffer); in acpi_fan_get_fps()
288 dev_err(&device->dev, "Invalid _FPS data\n"); in acpi_fan_get_fps()
294 fan->fps = devm_kzalloc(&device->dev, in acpi_fan_get_fps()
298 dev_err(&device->dev, "Not enough memory\n"); in acpi_fan_get_fps()
308 dev_err(&device->dev, "Invalid _FPS element\n"); in acpi_fan_get_fps()
327 struct acpi_device *device = ACPI_COMPANION(&pdev->dev); in acpi_fan_probe() local
332 dev_err(&device->dev, "No memory for fan\n"); in acpi_fan_probe()
335 device->driver_data = fan; in acpi_fan_probe()
338 if (acpi_fan_is_acpi4(device)) { in acpi_fan_probe()
339 if (acpi_fan_get_fif(device) || acpi_fan_get_fps(device)) in acpi_fan_probe()
343 result = acpi_device_update_power(device, NULL); in acpi_fan_probe()
345 dev_err(&device->dev, "Setting initial power state\n"); in acpi_fan_probe()
353 name = acpi_device_bid(device); in acpi_fan_probe()
355 cdev = thermal_cooling_device_register(name, device, in acpi_fan_probe()
366 &cdev->device.kobj, in acpi_fan_probe()
371 result = sysfs_create_link(&cdev->device.kobj, in acpi_fan_probe()
386 sysfs_remove_link(&fan->cdev->device.kobj, "device"); in acpi_fan_remove()
393 static int acpi_fan_suspend(struct device *dev) in acpi_fan_suspend()
404 static int acpi_fan_resume(struct device *dev) in acpi_fan_resume()