while (handle) {
acpi_get_name(handle, ACPI_FULL_PATHNAME, &string);
pci_info(pdev, "Requesting control of SHPC hotplug via OSHP (%s)\n",
(char *)string.pointer);
status = acpi_run_oshp(handle); if (ACPI_SUCCESS(status)) goto got_one; if (acpi_is_root_bridge(handle)) break;
chandle = handle;
status = acpi_get_parent(chandle, &handle); if (ACPI_FAILURE(status)) break;
}
pci_info(pdev, "Cannot get control of SHPC hotplug\n");
kfree(string.pointer); return -ENODEV;
got_one:
pci_info(pdev, "Gained control of SHPC hotplug (%s)\n",
(char *)string.pointer);
kfree(string.pointer); return0;
}
EXPORT_SYMBOL(acpi_get_hp_hw_control_from_firmware);
staticint pcihp_is_ejectable(acpi_handle handle)
{
acpi_status status; unsignedlonglong removable; if (!acpi_has_method(handle, "_ADR")) return0; if (acpi_has_method(handle, "_EJ0")) return1;
status = acpi_evaluate_integer(handle, "_RMV", NULL, &removable); if (ACPI_SUCCESS(status) && removable) return1; return0;
}
/** *acpi_pci_detect_ejectable-checkifthePCIbushasejectableslots *@handle:handleofthePCIbustoscan * *Returns1ifthePCIbushasACPIbasedejectableslots,0otherwise.
*/ int acpi_pci_detect_ejectable(acpi_handle handle)
{ int found = 0;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.