On Wed, 15 Nov 2006 09:24:54 -0600
An additional 600kb of diff has just popped up in the ACPI tree, so none of
this patch applies any more. I'll need to drop it again, sorry.It's been over two months - I'm not sure why things are so difficult for
this patchset.-
it is because
1. this didn't make it into 2.6.20 before -rc1, and Linus prohibits adding features thereafter
2. these patches simultaneously depend on ACPI, hotplug, and IA64 platform dependent code,
so it isn't always clear who owns them. However, if Greg and Tony Ack them,
I'll be happy to carry them upstream with the ACPI tree.I'll reply to this note with a shim patch to help these apply, and a pair of refreshed SGI patches
that apply on top of the ACPI tree. Build tested vs sn2_defconfig , but SGI will have to test it on hardware.thanks,
-Len
-
Syntax only -- no functional changes.
Signed-off-by: Len Brown <len.brown@intel.com
---
arch/ia64/sn/kernel/io_common.c | 10 ++++++----
arch/ia64/sn/kernel/iomv.c | 5 ++---
include/asm-ia64/sn/acpi.h | 18 ++++++++++++++++++
3 files changed, 26 insertions(+), 7 deletions(-)Index: acpi/arch/ia64/sn/kernel/io_common.c
===================================================================
--- acpi.orig/arch/ia64/sn/kernel/io_common.c
+++ acpi/arch/ia64/sn/kernel/io_common.c
@@ -25,6 +25,7 @@
#include "xtalk/xwidgetdev.h"
#include <linux/acpi.h>
#include <asm/sn/sn2/sn_hwperf.h>
+#include <asm/sn/acpi.h>extern void sn_init_cpei_timer(void);
extern void register_sn_procfs(void);
@@ -36,6 +37,7 @@ extern void sn_legacy_pci_window_fixup(s
extern void sn_io_acpi_init(void);
extern void sn_io_init(void);+
static struct list_head sn_sysdata_list;/* sysdata list struct */
@@ -48,7 +50,7 @@ int sn_ioif_inited; /* SN I/O infrastrustruct sn_pcibus_provider *sn_pci_provider[PCIIO_ASIC_MAX_TYPES]; /* indexed by asic type */
-int sn_acpi_base_support()
+int sn_acpi_base_support(void)
{
struct acpi_table_header *header;
(void)acpi_get_table_by_index(ACPI_TABLE_INDEX_DSDT, &header);
@@ -293,7 +295,7 @@ void sn_pci_fixup_slot(struct pci_dev *d
list_add_tail(&pcidev_info->pdi_list,
&(SN_PLATFORM_DATA(dev->bus)->pcidev_info));- if (sn_acpi_base_support())
+ if (SN_ACPI_BASE_SUPPORT())
sn_acpi_slot_fixup(dev, pcidev_info);
else
sn_more_slot_fixup(dev, pcidev_info);
@@ -505,7 +507,7 @@ void __devinit
sn_pci_fixup_bus(struct pci_bus *bus)
{- if (sn_acpi_base_support())
+ if (SN_ACPI_BASE_SUPPORT())
sn_acpi_bus_fixup(bus);
else
sn_bus_fixup(bus);
@@ -557,7 +559,7 @@ sn_io_early_init(void)
printk(KERN_INFO "ACPI DSDT OEM Rev 0x%x\n",
header->oem_revision);
}
- if (sn_acpi_base_support())
+ if (SN_ACPI_BASE_SUPPORT())
sn_io_acpi_init();
...
From: John Keller <jpk@sgi.com>
Add SN platform support for running with an ACPI
capable PROM that defines PCI devices in SSDT
tables. There is a SSDT table for every occupied
slot on a root bus, containing info for every
PPB and/or device on the bus. The SSDTs will be
dynamically loaded/unloaded at hotplug enable/disable.Platform specific information that is currently
passed via a SAL call, will now be passed via the
Vendor resource in the ACPI Device object(s) defined
in each SSDT.Signed-off-by: John Keller <jpk@sgi.com>
Cc: Greg KH <greg@kroah.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
---arch/ia64/sn/kernel/io_acpi_init.c | 314 +++++++++++++++++++++++++++++---
arch/ia64/sn/kernel/io_common.c | 83 +-------
arch/ia64/sn/kernel/io_init.c | 54 ++++-
arch/ia64/sn/pci/pcibr/pcibr_provider.c | 6
include/asm-ia64/sn/acpi.h | 5
include/asm-ia64/sn/pcibr_provider.h | 2
include/asm-ia64/sn/pcidev.h | 8
7 files changed, 368 insertions(+), 104 deletions(-)Index: acpi/arch/ia64/sn/kernel/io_acpi_init.c
===================================================================
--- acpi.orig/arch/ia64/sn/kernel/io_acpi_init.c
+++ acpi/arch/ia64/sn/kernel/io_acpi_init.c
@@ -13,6 +13,7 @@
#include <asm/sn/sn_sal.h>
#include "xtalk/hubdev.h"
#include <linux/acpi.h>
+#include <acpi/acnamesp.h>/*
@@ -31,6 +32,12 @@ struct acpi_vendor_uuid sn_uuid = {
0xa2, 0x7c, 0x08, 0x00, 0x69, 0x13, 0xea, 0x51 },
};+struct sn_pcidev_match {
+ u8 bus;
+ unsigned int devfn;
+ acpi_handle handle;
+};
+
/*
* Perform the early IO init in PROM.
*/
@@ -119,9 +126,11 @@ sn_get_bussoft_ptr(struct pci_bus *bus)
status = acpi_get_vendor_resource(handle, METHOD_NAME__CRS,
&sn_uuid, &buffer);
if (ACPI_FAILURE(status)) {
- printk(KERN...
From: John Keller <jpk@sgi.com>
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: Aaron Young <ayoung@sgi.com>
Cc: Greg KH <greg@kroah.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown<len.brown@intel.com>
---drivers/pci/hotplug/sgi_hotplug.c | 155 ++++++++++++++++++++++++++--
1 files changed, 148 insertions(+), 7 deletions(-)Index: acpi/drivers/pci/hotplug/sgi_hotplug.c
===================================================================
--- acpi.orig/drivers/pci/hotplug/sgi_hotplug.c
+++ acpi/drivers/pci/hotplug/sgi_hotplug.c
@@ -28,6 +28,8 @@
#include <asm/sn/sn_feature_sets.h>
#include <asm/sn/sn_sal.h>
#include <asm/sn/types.h>
+#include <linux/acpi.h>
+#include <asm/sn...
This should go through Kristen, as she is now the pci hotplug
maintainer, not I.thanks,
greg k-h
-
| Amit K. Arora | [RFC] Heads up on sys_fallocate() |
| Linus Torvalds | Linux 2.6.23-rc9 and a heads-up for the 2.6.24 series.. |
| Paul Jackson | Re: cpuset-remove-sched-domain-hooks-from-cpusets |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
git: | |
| Linus Torvalds | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | Re: [klibc] [patch] import socket defines |
