Lines Matching refs:device
59 struct acpi_device device; member
82 struct acpi_power_resource *to_power_resource(struct acpi_device *device) in to_power_resource() argument
84 return container_of(device, struct acpi_power_resource, device); in to_power_resource()
89 struct acpi_device *device; in acpi_power_get_context() local
91 if (acpi_bus_get_device(handle, &device)) in acpi_power_get_context()
94 return to_power_resource(device); in acpi_power_get_context()
205 acpi_handle handle = resource->device.handle; in acpi_power_get_list_state()
229 status = acpi_evaluate_object(resource->device.handle, "_ON", NULL, NULL); in __acpi_power_on()
269 status = acpi_evaluate_object(resource->device.handle, "_OFF", in __acpi_power_off()
388 struct acpi_device *res_dev = &entry->resource->device; in acpi_power_hide_list()
412 struct acpi_device *res_dev = &entry->resource->device; in acpi_power_expose_list()
460 acpi_handle handle = resource->device.handle; in acpi_power_wakeup_list_init()
657 int acpi_power_get_inferred_state(struct acpi_device *device, int *state) in acpi_power_get_inferred_state() argument
663 if (!device || !state) in acpi_power_get_inferred_state()
671 struct list_head *list = &device->power.states[i].resources; in acpi_power_get_inferred_state()
686 *state = device->power.states[ACPI_STATE_D3_COLD].flags.valid ? in acpi_power_get_inferred_state()
691 int acpi_power_on_resources(struct acpi_device *device, int state) in acpi_power_on_resources() argument
693 if (!device || state < ACPI_STATE_D0 || state > ACPI_STATE_D3_HOT) in acpi_power_on_resources()
696 return acpi_power_on_list(&device->power.states[state].resources); in acpi_power_on_resources()
699 int acpi_power_transition(struct acpi_device *device, int state) in acpi_power_transition() argument
703 if (!device || (state < ACPI_STATE_D0) || (state > ACPI_STATE_D3_COLD)) in acpi_power_transition()
706 if (device->power.state == state || !device->flags.power_manageable) in acpi_power_transition()
709 if ((device->power.state < ACPI_STATE_D0) in acpi_power_transition()
710 || (device->power.state > ACPI_STATE_D3_COLD)) in acpi_power_transition()
720 &device->power.states[state].resources); in acpi_power_transition()
722 if (!result && device->power.state < ACPI_STATE_D3_COLD) in acpi_power_transition()
724 &device->power.states[device->power.state].resources); in acpi_power_transition()
727 device->power.state = result ? ACPI_STATE_UNKNOWN : state; in acpi_power_transition()
732 static void acpi_release_power_resource(struct device *dev) in acpi_release_power_resource()
734 struct acpi_device *device = to_acpi_device(dev); in acpi_release_power_resource() local
737 resource = container_of(device, struct acpi_power_resource, device); in acpi_release_power_resource()
743 acpi_free_pnp_ids(&device->pnp); in acpi_release_power_resource()
747 static ssize_t acpi_power_in_use_show(struct device *dev, in acpi_power_in_use_show()
757 static void acpi_power_sysfs_remove(struct acpi_device *device) in acpi_power_sysfs_remove() argument
759 device_remove_file(&device->dev, &dev_attr_resource_in_use); in acpi_power_sysfs_remove()
784 struct acpi_device *device = NULL; in acpi_add_power_resource() local
790 acpi_bus_get_device(handle, &device); in acpi_add_power_resource()
791 if (device) in acpi_add_power_resource()
798 device = &resource->device; in acpi_add_power_resource()
799 acpi_init_device_object(device, handle, ACPI_BUS_TYPE_POWER, in acpi_add_power_resource()
803 resource->name = device->pnp.bus_id; in acpi_add_power_resource()
804 strcpy(acpi_device_name(device), ACPI_POWER_DEVICE_NAME); in acpi_add_power_resource()
805 strcpy(acpi_device_class(device), ACPI_POWER_CLASS); in acpi_add_power_resource()
806 device->power.state = ACPI_STATE_UNKNOWN; in acpi_add_power_resource()
820 printk(KERN_INFO PREFIX "%s [%s] (%s)\n", acpi_device_name(device), in acpi_add_power_resource()
821 acpi_device_bid(device), state ? "on" : "off"); in acpi_add_power_resource()
823 device->flags.match_driver = true; in acpi_add_power_resource()
824 result = acpi_device_add(device, acpi_release_power_resource); in acpi_add_power_resource()
828 if (!device_create_file(&device->dev, &dev_attr_resource_in_use)) in acpi_add_power_resource()
829 device->remove = acpi_power_sysfs_remove; in acpi_add_power_resource()
832 acpi_device_add_finalize(device); in acpi_add_power_resource()
836 acpi_release_power_resource(&device->dev); in acpi_add_power_resource()
852 result = acpi_power_get_state(resource->device.handle, &state); in acpi_resume_power_resources()
860 dev_info(&resource->device.dev, "Turning ON\n"); in acpi_resume_power_resources()
871 result = acpi_power_get_state(resource->device.handle, &state); in acpi_resume_power_resources()
879 dev_info(&resource->device.dev, "Turning OFF\n"); in acpi_resume_power_resources()