• John Keller's avatar
    Altix: Add ACPI SSDT PCI device support (hotplug) · 3e643e77
    John Keller authored
    Support for dynamic loading and unloading of ACPI SSDT tables upon slot
    hotplugs and unplugs.
    
    On SN platforms, we now represent every populated root bus slot with a single
    ACPI SSDT table containing info for every device and PPB attached to the slot.
     These SSDTs are generated by the prom at initial boot and hotplug time.  The
    info in these SSDT tables is used by the SN kernel IO "fixup" code (which is
    called at boot and hotplug time).
    
    On hotplugs (i.e.  enable_slot()), if running with an ACPI capable prom,
    attempt to obtain a new ACPI SSDT table for the slot being hotplugged.  If
    successful, add the table to the ACPI namespace (acpi_load_table()) and then
    walk the new devices and add them to the ACPI infrastructure (acpi_bus_add()).
    
    On hot unplugs (i.e.  disable_slot()), if running with an ACPI capable prom,
    attempt to remove the SSDT table associated with the slot from the ACPI
    namespace (acpi_unload_table_id()) and infastructure (acpi_bus_trim()).
    
    From: John Keller <jpk@sgi.com>
    
     A bug was fixed where the sgi hotplug driver was removing
     the slot's SSDT table from the ACPI namespace a bit too early in
     disable_slot(). Also, we now call acpi_bus_start() subsequent
     to acpi_bus_add().
    Signed-off-by: default avatarAaron Young <ayoung@sgi.com>
    Cc: Greg KH <greg@kroah.com>
    Cc: "Luck, Tony" <tony.luck@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: Len Brown<len.brown@intel.com>
    3e643e77
sgi_hotplug.c 18 KB