• Home
  • Raw
  • Download

Lines Matching +full:sci +full:- +full:proc +full:- +full:ids

2  *  acpi_bus.c - ACPI Bus Driver ($Revision: 80 $)
63 printk(KERN_NOTICE "%s detected - " in set_copy_dsdt()
64 "force copy of DSDT to local memory\n", id->ident); in set_copy_dsdt()
72 * Invoke DSDT corruption work-around on all Toshiba Satellite.
87 /* --------------------------------------------------------------------------
89 -------------------------------------------------------------------------- */
120 if (acpi_device_is_battery(device) && device->dep_unmet) { in acpi_bus_get_status()
125 status = acpi_bus_get_status_handle(device->handle, &sta); in acpi_bus_get_status()
127 return -ENODEV; in acpi_bus_get_status()
131 if (device->status.functional && !device->status.present) { in acpi_bus_get_status()
134 device->pnp.bus_id, (u32)sta)); in acpi_bus_get_status()
138 device->pnp.bus_id, (u32)sta)); in acpi_bus_get_status()
158 return -ENODEV; in acpi_bus_attach_private_data()
170 return -EINVAL; in acpi_bus_get_private_data()
175 return -ENODEV; in acpi_bus_get_private_data()
193 acpi_handle_debug(handle, "(%s): %s\n", context->uuid_str, error); in acpi_print_osc_error()
196 for (i = 0; i < context->cap.length; i += sizeof(u32)) in acpi_print_osc_error()
197 pr_debug(" %x", *((u32 *)(context->cap.pointer + i))); in acpi_print_osc_error()
214 if (guid_parse(context->uuid_str, &guid)) in acpi_run_osc()
216 context->ret.length = ACPI_ALLOCATE_BUFFER; in acpi_run_osc()
217 context->ret.pointer = NULL; in acpi_run_osc()
226 in_params[1].integer.value = context->rev; in acpi_run_osc()
228 in_params[2].integer.value = context->cap.length/sizeof(u32); in acpi_run_osc()
230 in_params[3].buffer.length = context->cap.length; in acpi_run_osc()
231 in_params[3].buffer.pointer = context->cap.pointer; in acpi_run_osc()
241 if (out_obj->type != ACPI_TYPE_BUFFER in acpi_run_osc()
242 || out_obj->buffer.length != context->cap.length) { in acpi_run_osc()
249 errors = *((u32 *)out_obj->buffer.pointer) & ~(1 << 0); in acpi_run_osc()
261 if (((u32 *)context->cap.pointer)[OSC_QUERY_DWORD] in acpi_run_osc()
271 context->ret.length = out_obj->buffer.length; in acpi_run_osc()
272 context->ret.pointer = kmemdup(out_obj->buffer.pointer, in acpi_run_osc()
273 context->ret.length, GFP_KERNEL); in acpi_run_osc()
274 if (!context->ret.pointer) { in acpi_run_osc()
283 context->ret.pointer = NULL; in acpi_run_osc()
297 static u8 sb_uuid_str[] = "0811B06E-4A27-44F9-8D60-3CBBC22E7B48";
346 /* --------------------------------------------------------------------------
348 -------------------------------------------------------------------------- */
352 * ---------------
353 * Callback for all 'system-level' device notifications (values 0x00-0x7F).
410 driver = adev->driver; in acpi_bus_notify()
411 if (driver && driver->ops.notify && in acpi_bus_notify()
412 (driver->flags & ACPI_DRIVER_ALL_NOTIFY_EVENTS)) in acpi_bus_notify()
413 driver->ops.notify(adev, type); in acpi_bus_notify()
433 device->driver->ops.notify(device, event); in acpi_device_notify()
454 if (device->device_type == ACPI_BUS_TYPE_POWER_BUTTON) in acpi_device_install_notify_handler()
459 else if (device->device_type == ACPI_BUS_TYPE_SLEEP_BUTTON) in acpi_device_install_notify_handler()
465 status = acpi_install_notify_handler(device->handle, in acpi_device_install_notify_handler()
471 return -EINVAL; in acpi_device_install_notify_handler()
477 if (device->device_type == ACPI_BUS_TYPE_POWER_BUTTON) in acpi_device_remove_notify_handler()
480 else if (device->device_type == ACPI_BUS_TYPE_SLEEP_BUTTON) in acpi_device_remove_notify_handler()
484 acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, in acpi_device_remove_notify_handler()
529 return -ENXIO; in acpi_setup_sb_notify_handler()
533 return -EINVAL; in acpi_setup_sb_notify_handler()
538 /* --------------------------------------------------------------------------
540 -------------------------------------------------------------------------- */
543 * acpi_get_first_physical_node - Get first physical node of an ACPI device
550 struct mutex *physical_node_lock = &adev->physical_node_lock; in acpi_get_first_physical_node()
554 if (list_empty(&adev->physical_node_list)) { in acpi_get_first_physical_node()
559 node = list_first_entry(&adev->physical_node_list, in acpi_get_first_physical_node()
562 phys_dev = node->dev; in acpi_get_first_physical_node()
577 * acpi_device_is_first_physical_node - Is given dev first physical node
594 * acpi_companion_match() - Can we match via ACPI companion device
598 * a valid list of PNP IDs, and if the device is the first (primary) physical
605 * companion. A typical case is an MFD device where all the sub-devices share
608 * IDs.
622 if (list_empty(&adev->pnp.ids)) in acpi_companion_match()
629 * acpi_of_match_device - Match device object using the "compatible" property.
631 * @of_match_table: List of device IDs to match against.
648 of_compatible = adev->data.of_compatible; in acpi_of_match_device()
652 if (of_compatible->type == ACPI_TYPE_PACKAGE) { in acpi_of_match_device()
653 nval = of_compatible->package.count; in acpi_of_match_device()
654 obj = of_compatible->package.elements; in acpi_of_match_device()
663 for (id = of_match_table; id->compatible[0]; id++) in acpi_of_match_device()
664 if (!strcasecmp(obj->string.pointer, id->compatible)) { in acpi_of_match_device()
681 of_compatible = adev->data.of_compatible; in acpi_of_modalias()
685 if (of_compatible->type == ACPI_TYPE_PACKAGE) in acpi_of_modalias()
686 obj = of_compatible->package.elements; in acpi_of_modalias()
690 str = obj->string.pointer; in acpi_of_modalias()
698 * acpi_set_modalias - Set modalias using "compatible" property or supplied ID
722 if (!id->cls) in __acpi_match_device_cls()
725 /* Apply class-code bitmask, before checking each class-code byte */ in __acpi_match_device_cls()
727 byte_shift = 8 * (3 - i); in __acpi_match_device_cls()
728 msk = (id->cls_msk >> byte_shift) & 0xFF; in __acpi_match_device_cls()
732 sprintf(buf, "%02x", (id->cls >> byte_shift) & msk); in __acpi_match_device_cls()
733 if (strncmp(buf, &hwid->id[(i - 1) * 2], 2)) in __acpi_match_device_cls()
752 if (!device || !device->status.present) in __acpi_match_device()
755 list_for_each_entry(hwid, &device->pnp.ids, list) { in __acpi_match_device()
756 /* First, check the ACPI/PNP IDs provided by the caller. */ in __acpi_match_device()
758 for (id = acpi_ids; id->id[0] || id->cls; id++) { in __acpi_match_device()
759 if (id->id[0] && !strcmp((char *)id->id, hwid->id)) in __acpi_match_device()
761 if (id->cls && __acpi_match_device_cls(id, hwid)) in __acpi_match_device()
770 if (!strcmp(ACPI_DT_NAMESPACE_HID, hwid->id)) in __acpi_match_device()
782 * acpi_match_device - Match a struct device against a given list of ACPI IDs
783 * @ids: Array of struct acpi_device_id object to match against.
788 * device IDs.
792 const struct acpi_device_id *acpi_match_device(const struct acpi_device_id *ids, in acpi_match_device() argument
797 __acpi_match_device(acpi_companion_match(dev), ids, NULL, &id, NULL); in acpi_match_device()
806 match = acpi_match_device(dev->driver->acpi_match_table, dev); in acpi_device_get_match_data()
810 return (const void *)match->driver_data; in acpi_device_get_match_data()
815 const struct acpi_device_id *ids) in acpi_match_device_ids() argument
817 return __acpi_match_device(device, ids, NULL, NULL, NULL) ? 0 : -ENOENT; in acpi_match_device_ids()
824 if (!drv->acpi_match_table) in acpi_driver_match_device()
826 drv->of_match_table, in acpi_driver_match_device()
830 drv->acpi_match_table, drv->of_match_table, in acpi_driver_match_device()
835 /* --------------------------------------------------------------------------
837 -------------------------------------------------------------------------- */
840 * acpi_bus_register_driver - register a driver with the ACPI bus
852 return -ENODEV; in acpi_bus_register_driver()
853 driver->drv.name = driver->name; in acpi_bus_register_driver()
854 driver->drv.bus = &acpi_bus_type; in acpi_bus_register_driver()
855 driver->drv.owner = driver->owner; in acpi_bus_register_driver()
857 ret = driver_register(&driver->drv); in acpi_bus_register_driver()
864 * acpi_bus_unregister_driver - unregisters a driver with the ACPI bus
872 driver_unregister(&driver->drv); in acpi_bus_unregister_driver()
877 /* --------------------------------------------------------------------------
879 -------------------------------------------------------------------------- */
886 return acpi_dev->flags.match_driver in acpi_bus_match()
887 && !acpi_match_device_ids(acpi_dev, acpi_drv->ids); in acpi_bus_match()
898 struct acpi_driver *acpi_drv = to_acpi_driver(dev->driver); in acpi_device_probe()
901 if (acpi_dev->handler && !acpi_is_pnp_device(acpi_dev)) in acpi_device_probe()
902 return -EINVAL; in acpi_device_probe()
904 if (!acpi_drv->ops.add) in acpi_device_probe()
905 return -ENOSYS; in acpi_device_probe()
907 ret = acpi_drv->ops.add(acpi_dev); in acpi_device_probe()
911 acpi_dev->driver = acpi_drv; in acpi_device_probe()
914 acpi_drv->name, acpi_dev->pnp.bus_id)); in acpi_device_probe()
916 if (acpi_drv->ops.notify) { in acpi_device_probe()
919 if (acpi_drv->ops.remove) in acpi_device_probe()
920 acpi_drv->ops.remove(acpi_dev); in acpi_device_probe()
922 acpi_dev->driver = NULL; in acpi_device_probe()
923 acpi_dev->driver_data = NULL; in acpi_device_probe()
929 acpi_drv->name, acpi_dev->pnp.bus_id)); in acpi_device_probe()
937 struct acpi_driver *acpi_drv = acpi_dev->driver; in acpi_device_remove()
940 if (acpi_drv->ops.notify) in acpi_device_remove()
942 if (acpi_drv->ops.remove) in acpi_device_remove()
943 acpi_drv->ops.remove(acpi_dev); in acpi_device_remove()
945 acpi_dev->driver = NULL; in acpi_device_remove()
946 acpi_dev->driver_data = NULL; in acpi_device_remove()
960 /* --------------------------------------------------------------------------
962 -------------------------------------------------------------------------- */
993 return -ENODEV; in acpi_bus_init_irq()
1001 return -ENODEV; in acpi_bus_init_irq()
1008 * acpi_early_init - Initialize ACPICA and populate the ACPI namespace.
1074 /* Set PIC-mode SCI trigger type */ in acpi_early_init()
1092 * acpi_subsystem_init - Finalize the early initialization of ACPI.
1220 * Create the top ACPI proc directory in acpi_bus_init()
1231 return -ENODEV; in acpi_bus_init()
1243 return -ENODEV; in acpi_init()