Lines Matching defs:handler
87 int acpi_scan_add_handler(struct acpi_scan_handler *handler)
89 if (!handler)
92 list_add_tail(&handler->list_node, &acpi_scan_handlers_list);
96 int acpi_scan_add_handler_with_hotplug(struct acpi_scan_handler *handler,
101 error = acpi_scan_add_handler(handler);
105 acpi_sysfs_add_hotplug_profile(&handler->hotplug, hotplug_profile_name);
145 if (device->handler && !device->handler->hotplug.enabled) {
253 if (device->handler && device->handler->hotplug.demand_offline) {
311 * the scan handler is not attached to this device object yet
316 if (adev->handler) {
333 struct acpi_scan_handler *handler = adev->handler;
341 if (handler && handler->hotplug.scan_dependent)
342 return handler->hotplug.scan_dependent(adev);
361 if (adev->handler && !adev->handler->hotplug.enabled) {
1917 static bool acpi_scan_handler_matching(struct acpi_scan_handler *handler,
1923 if (handler->match)
1924 return handler->match(idstr, matchid);
1926 for (devid = handler->ids; devid->id[0]; devid++)
1940 struct acpi_scan_handler *handler;
1942 list_for_each_entry(handler, &acpi_scan_handlers_list, list_node)
1943 if (acpi_scan_handler_matching(handler, idstr, matchid))
1944 return handler;
1970 struct acpi_scan_handler *handler;
1972 handler = acpi_scan_match_handler(hwid->id, NULL);
1973 if (handler) {
2155 struct acpi_scan_handler *handler;
2157 handler = acpi_scan_match_handler(hwid->id, &devid);
2158 if (handler) {
2159 if (!handler->attach) {
2163 device->handler = handler;
2164 ret = handler->attach(device, devid);
2168 device->handler = NULL;
2197 if (device->handler)
2233 if (!skip && device->handler && device->handler->hotplug.notify_online)
2234 device->handler->hotplug.notify_online(device);
2509 struct acpi_scan_handler *handler = adev->handler;
2514 if (handler) {
2515 if (handler->detach)
2516 handler->detach(adev);
2518 adev->handler = NULL;