Skip to contentSkip to conversation

PCI patches for 2.6.13-rc1

PATCH New Greg KH 2 participants 12 messages Jul 1, 2005 – Jul 12, 2005

Subsystems (6)
Sound ACPI PCI Char and misc drivers +2 more subsystems
lore
Share & tools
lore

Greg KH

author
#0 lore raw

PATCH 1/1 PCI patches for 2.6.13-rc1

Here are some PCI patches against your latest git tree. These are the rest of the PCI patches that have been in the -mm tree for a while, with (hopefully) the patches that caused all the pcmcia problems removed.

Please pull from:

	rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6.git/
or if master.kernel.org hasn't synced up yet:
	master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6.git/

The full patches will be sent to the linux-kernel and linux-pci mailing lists, if anyone wants to see them.

thanks,

greg k-h

 arch/i386/kernel/cpu/cpufreq/gx-suspmod.c |    2 
 arch/i386/pci/common.c                    |    1 
 arch/i386/pci/i386.c                      |   11 +
 drivers/char/hw_random.c                  |    2 
 drivers/char/watchdog/i8xx_tco.c          |    2 
 drivers/ide/setup-pci.c                   |    2 
 drivers/parport/parport_pc.c              |    2 
 drivers/pci/Makefile                      |    1 
 drivers/pci/hotplug.c                     |    2 
 drivers/pci/pci-driver.c                  |  196 ++++++++++--------------------
 drivers/pci/pci.c                         |    6 
 drivers/pci/pcie/portdrv.h                |    5 
 drivers/pci/pcie/portdrv_core.c           |    8 +
 drivers/pci/pcie/portdrv_pci.c            |   79 +++++++++++-
 drivers/pci/probe.c                       |   24 +++
 drivers/pci/quirks.c                      |    1 
 drivers/pci/setup-bus.c                   |    2 
 include/linux/pci-dynids.h                |   18 --
 include/linux/pci.h                       |    5 
 sound/pci/bt87x.c                         |    2 
 20 files changed, 205 insertions(+), 166 deletions(-)

------------

Andy Whitcroft:
gregkh-pci-pci-assign-unassigned-resources fix

Greg Kroah-Hartman:
PCI: clean up dynamic pci id logic
PCI: Fix up PCI routing in parent bridge

Hannes Reinecke:
PCI: Remove newline from pci MODALIAS variable

Ivan Kokshaysky:
PCI: handle subtractive decode pci-pci bridge better
PCI: pci_assign_unassigned_resources() on x86

Jean Delvare:
PCI: Add PCI quirk for SMBus on the Asus P4B-LX

John W. Linville:
pci: cleanup argument comments for pci_{save,restore}_state

long:
PCI: acpi tg3 ethernet not coming back properly after S3 suspendon DellM70

[email protected]:
PCI: Increase the number of PCI bus resources

author
#1 lore raw

PATCH 1/1 PCI: Fix up PCI routing in parent bridge

[PATCH] PCI: Fix up PCI routing in parent bridge

When the cardbus bridge is behind another bridge change the routing in the parent bridge for new cards. This fixes Cardbus on various AMD64 laptops.

---
commit 26f674ae0e37190bf61c988e52911e4372fdb5f5
tree 625b05e5edd627a5cce0289e78057ca5ccf2290c
parent ef6689eff4b58273fed9e54293a3da983b321e9a
author Greg Kroah-Hartman <[email protected]> Thu, 02 Jun 2005 15:41:48 -0700 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:49 -0700

 drivers/pci/probe.c |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)
drivers/pci/probe.c +18 -1
@@ -398,6 +398,16 @@ static void pci_enable_crs(struct pci_de
 	pci_write_config_word(dev, rpcap + PCI_EXP_RTCTL, rpctl);
 }
 
+static void __devinit pci_fixup_parent_subordinate_busnr(struct pci_bus *child, int max)
+{
+	struct pci_bus *parent = child->parent;
+	while (parent->parent && parent->subordinate < max) {
+		parent->subordinate = max;
+		pci_write_config_byte(parent->self, PCI_SUBORDINATE_BUS, max);
+		parent = parent->parent;
+	}
+}
+
 unsigned int __devinit pci_scan_child_bus(struct pci_bus *bus);
 
 /*
@@ -499,7 +509,13 @@ int __devinit pci_scan_bridge(struct pci
 
 		if (!is_cardbus) {
 			child->bridge_ctl = PCI_BRIDGE_CTL_NO_ISA;
-
+			/*
+			 * Adjust subordinate busnr in parent buses.
+			 * We do this before scanning for children because
+			 * some devices may not be detected if the bios
+			 * was lazy.
+			 */
+			pci_fixup_parent_subordinate_busnr(child, max);
 			/* Now we can scan all subordinate buses... */
 			max = pci_scan_child_bus(child);
 		} else {
@@ -513,6 +529,7 @@ int __devinit pci_scan_bridge(struct pci
 							max+i+1))
 					break;
 			max += i;
+			pci_fixup_parent_subordinate_busnr(child, max);
 		}
 		/*
 		 * Set the subordinate bus number to its real value.
author
#2 lore raw

PATCH 1/1 PCI: Increase the number of PCI bus resources

[PATCH] PCI: Increase the number of PCI bus resources

This patch increases the number of resource pointers in the pci_bus structure. This is needed to store >4 resource ranges for host bridges and transparent PCI bridges. With this change, all PCI buses will have more resource pointers, but most PCI buses will only use the first 3 or 4, the remaining being NULL. The PCI core already deals with this correctly.

---
commit a03fa955576af50df80bec9127b46ef57e0877c0
tree dc13df100ead9efae7b370b435b58bca4736ae39
parent 26f674ae0e37190bf61c988e52911e4372fdb5f5
author [email protected] <[email protected]> Thu, 02 Jun 2005 15:41:48 -0700 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:49 -0700

 include/linux/pci.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
include/linux/pci.h +1 -1
@@ -586,7 +586,7 @@ struct pci_dev {
 #define PCI_NUM_RESOURCES 11
 
 #ifndef PCI_BUS_NUM_RESOURCES
-#define PCI_BUS_NUM_RESOURCES 4
+#define PCI_BUS_NUM_RESOURCES 8
 #endif
   
 #define PCI_REGION_FLAG_MASK 0x0fU	/* These bits of resource flags tell us the PCI region flags */
author
#3 lore raw

PATCH 1/1 PCI: pci_assign_unassigned_resources() on x86

[PATCH] PCI: pci_assign_unassigned_resources() on x86

- Add sanity check for io[port,mem]_resource in setup-bus.c. These resources look like "free" as they have no parents, but obviously we must not touch them.
- In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be allocated for some reason, then clear its flags. This prevents any child allocations in this range, so the setup-bus code will work with a clean resource sub-tree.
- i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks only resources 0-5, which looks like a clear bug to me. I suspect it might break hotplug as well in some cases.

From: Ivan Kokshaysky <[email protected]>

---
commit 299de0343c7d18448a69c635378342e9214b14af
tree 0a456358b5f919328e234868139c983813f4cb80
parent 90b54929b626c80056262d9d99b3f48522e404d0
author Ivan Kokshaysky <[email protected]> Wed, 15 Jun 2005 18:59:27 +0400 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:50 -0700

 arch/i386/pci/common.c  |    1 +
 arch/i386/pci/i386.c    |   11 ++++++++---
 drivers/pci/setup-bus.c |    2 ++
 3 files changed, 11 insertions(+), 3 deletions(-)
arch/i386/pci/common.c +1 -0
@@ -165,6 +165,7 @@ static int __init pcibios_init(void)
 	if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT))
 		pcibios_sort();
 #endif
+	pci_assign_unassigned_resources();
 	return 0;
 }
 
arch/i386/pci/i386.c +8 -3
@@ -106,11 +106,16 @@ static void __init pcibios_allocate_bus_
 		if ((dev = bus->self)) {
 			for (idx = PCI_BRIDGE_RESOURCES; idx < PCI_NUM_RESOURCES; idx++) {
 				r = &dev->resource[idx];
-				if (!r->start)
+				if (!r->flags)
 					continue;
 				pr = pci_find_parent_resource(dev, r);
-				if (!pr || request_resource(pr, r) < 0)
+				if (!r->start || !pr || request_resource(pr, r) < 0) {
 					printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev));
+					/* Something is wrong with the region.
+					   Invalidate the resource to prevent child
+					   resource allocations in this range. */
+					r->flags = 0;
+				}
 			}
 		}
 		pcibios_allocate_bus_resources(&bus->children);
@@ -227,7 +232,7 @@ int pcibios_enable_resources(struct pci_
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
-	for(idx=0; idx<6; idx++) {
+	for(idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<idx)))
 			continue;
drivers/pci/setup-bus.c +2 -0
@@ -273,6 +273,8 @@ find_free_bus_resource(struct pci_bus *b
 
 	for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) {
 		r = bus->resource[i];
+		if (r == &ioport_resource || r == &iomem_resource)
+			continue;
 		if (r && (r->flags & type_mask) == type && !r->parent)
 			return r;
 	}
author
#4 lore raw

PATCH 1/1 PCI: clean up dynamic pci id logic

[PATCH] PCI: clean up dynamic pci id logic

The dynamic pci id logic has been bothering me for a while, and now that I started to look into how to move some of this to the driver core, I thought it was time to clean it all up.

It ends up making the code smaller, and easier to follow, and fixes a few bugs at the same time (dynamic ids were not being matched everywhere, and so could be missed on some call paths for new devices, semaphore not needed to be grabbed when adding a new id and calling the driver core, etc.)

I also renamed the function pci_match_device() to pci_match_id() as that's what it really does.

---
commit 75865858971add95809c5c9cd35dc4cfba08e33b
tree e8b3fe78e15696f36156d1f94d35b7711590365f
parent 299de0343c7d18448a69c635378342e9214b14af
author Greg Kroah-Hartman <[email protected]> Thu, 30 Jun 2005 02:18:12 -0700 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:50 -0700

 arch/i386/kernel/cpu/cpufreq/gx-suspmod.c |    2 
 drivers/char/hw_random.c                  |    2 
 drivers/char/watchdog/i8xx_tco.c          |    2 
 drivers/ide/setup-pci.c                   |    2 
 drivers/parport/parport_pc.c              |    2 
 drivers/pci/pci-driver.c                  |  196 +++++++++++------------------
 include/linux/pci-dynids.h                |   18 ---
 include/linux/pci.h                       |    3 
 sound/pci/bt87x.c                         |    2 
 9 files changed, 79 insertions(+), 150 deletions(-)
arch/i386/kernel/cpu/cpufreq/gx-suspmod.c +1 -1
@@ -190,7 +190,7 @@ static __init struct pci_dev *gx_detect_
 
 	/* detect which companion chip is used */
 	while ((gx_pci = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, gx_pci)) != NULL) {
-		if ((pci_match_device (gx_chipset_tbl, gx_pci)) != NULL) {
+		if ((pci_match_id(gx_chipset_tbl, gx_pci)) != NULL) {
 			return gx_pci;
 		}
 	}
drivers/char/hw_random.c +1 -1
@@ -579,7 +579,7 @@ static int __init rng_init (void)
 
 	/* Probe for Intel, AMD RNGs */
 	for_each_pci_dev(pdev) {
-		ent = pci_match_device (rng_pci_tbl, pdev);
+		ent = pci_match_id(rng_pci_tbl, pdev);
 		if (ent) {
 			rng_ops = &rng_vendor_ops[ent->driver_data];
 			goto match;
drivers/char/watchdog/i8xx_tco.c +1 -1
@@ -401,7 +401,7 @@ static unsigned char __init i8xx_tco_get
 	 */
 
 	while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
-		if (pci_match_device(i8xx_tco_pci_tbl, dev)) {
+		if (pci_match_id(i8xx_tco_pci_tbl, dev)) {
 			i8xx_tco_pci = dev;
 			break;
 		}
drivers/ide/setup-pci.c +1 -1
@@ -847,7 +847,7 @@ static int __init ide_scan_pcidev(struct
 		d = list_entry(l, struct pci_driver, node);
 		if(d->id_table)
 		{
-			const struct pci_device_id *id = pci_match_device(d->id_table, dev);
+			const struct pci_device_id *id = pci_match_id(d->id_table, dev);
 			if(id != NULL)
 			{
 				if(d->probe(dev, id) >= 0)
drivers/parport/parport_pc.c +1 -1
@@ -3008,7 +3008,7 @@ static int __init parport_pc_init_superi
 	int ret = 0;
 
 	while ((pdev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) {
-		id = pci_match_device (parport_pc_pci_tbl, pdev);
+		id = pci_match_id(parport_pc_pci_tbl, pdev);
 		if (id == NULL || id->driver_data >= last_sio)
 			continue;
 
drivers/pci/pci-driver.c +71 -125

306 lines not on this page · raw message

include/linux/pci-dynids.h deleted +0 -18
deleted file mode 100644
@@ -1,18 +0,0 @@
-/*
- *	PCI defines and function prototypes
- *	Copyright 2003 Dell Inc.
- *        by Matt Domsch <[email protected]>
- */
-
-#ifndef LINUX_PCI_DYNIDS_H
-#define LINUX_PCI_DYNIDS_H
-
-#include <linux/list.h>
-#include <linux/mod_devicetable.h>
-
-struct dynid {
-	struct list_head        node;
-	struct pci_device_id    id;
-};
-
-#endif
include/linux/pci.h +2 -1
@@ -860,7 +860,8 @@ int pci_register_driver(struct pci_drive
 void pci_unregister_driver(struct pci_driver *);
 void pci_remove_behind_bridge(struct pci_dev *);
 struct pci_driver *pci_dev_driver(const struct pci_dev *);
-const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev);
+const struct pci_device_id *pci_match_device(struct pci_driver *drv, struct pci_dev *dev);
+const struct pci_device_id *pci_match_id(const struct pci_device_id *ids, struct pci_dev *dev);
 int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass);
 
 /* kmem_cache style wrapper around pci_alloc_consistent() */
sound/pci/bt87x.c +1 -1
@@ -804,7 +804,7 @@ static int __devinit snd_bt87x_detect_ca
 	int i;
 	const struct pci_device_id *supported;
 
-	supported = pci_match_device(snd_bt87x_ids, pci);
+	supported = pci_match_device(driver, pci);
 	if (supported)
 		return supported->driver_data;
 
author
#5 lore raw

PATCH 1/1 PCI: handle subtractive decode pci-pci bridge better

[PATCH] PCI: handle subtractive decode pci-pci bridge better

With the number of PCI bus resources increased to 8, we can handle the subtractive decode PCI-PCI bridge like a normal bridge, taking into account standard PCI-PCI bridge windows (resources 0-2). This helps to avoid problems with peer-to-peer DMA behind such bridges, poor performance for MMIO ranges outside bridge windows and prefetchable vs. non-prefetchable memory issues.

To reflect the fact that such bridges do forward all addresses to the secondary bus (transparency), remaining bus resources 3-7 are linked to resources 0-4 of the primary bus. These resources will be used as fallback by resource management code if allocation from standard bridge windows fails for some reason.

---
commit 90b54929b626c80056262d9d99b3f48522e404d0
tree d5cb91ff7bd0ac9ffeab5f7bf68235e8b35d050c
parent a03fa955576af50df80bec9127b46ef57e0877c0
author Ivan Kokshaysky <[email protected]> Tue, 07 Jun 2005 04:07:02 +0400 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:50 -0700

 drivers/pci/probe.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
drivers/pci/probe.c +2 -3
@@ -239,9 +239,8 @@ void __devinit pci_read_bridge_bases(str
 
 	if (dev->transparent) {
 		printk(KERN_INFO "PCI: Transparent bridge - %s\n", pci_name(dev));
-		for(i = 0; i < PCI_BUS_NUM_RESOURCES; i++)
-			child->resource[i] = child->parent->resource[i];
-		return;
+		for(i = 3; i < PCI_BUS_NUM_RESOURCES; i++)
+			child->resource[i] = child->parent->resource[i - 3];
 	}
 
 	for(i=0; i<3; i++)
author
#6 lore raw

PATCH 1/1 PCI: acpi tg3 ethernet not coming back properly after S3 suspendon DellM70

[PATCH] PCI: acpi tg3 ethernet not coming back properly after S3 suspendon DellM70

This patch, is based on kernel 2.6.12, provides a fix for PCIe port bus driver suspend/resume.

---
commit 5823d100ae260d022b4dd5ec9cc0b85f0bf0d646
tree 20cb85773cb51eed009a8b0f4646ebc4db7c293a
parent a00db371624e2e3718e5ab7d73bf364681098106
author long <[email protected]> Wed, 22 Jun 2005 09:09:54 -0700 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:51 -0700

 drivers/pci/pcie/portdrv.h      |    5 ++
 drivers/pci/pcie/portdrv_core.c |    8 ++++
 drivers/pci/pcie/portdrv_pci.c  |   79 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 91 insertions(+), 1 deletions(-)
drivers/pci/pcie/portdrv.h +5 -0
@@ -27,6 +27,11 @@
 
 #define get_descriptor_id(type, service) (((type - 4) << 4) | service)
 
+struct pcie_port_device_ext {
+	int interrupt_mode;	/* [0:INTx | 1:MSI | 2:MSI-X] */
+	unsigned int saved_msi_config_space[5];
+};
+
 extern struct bus_type pcie_port_bus_type;
 extern int pcie_port_device_probe(struct pci_dev *dev);
 extern int pcie_port_device_register(struct pci_dev *dev);
drivers/pci/pcie/portdrv_core.c +8 -0
@@ -275,10 +275,17 @@ int pcie_port_device_probe(struct pci_de
 
 int pcie_port_device_register(struct pci_dev *dev)
 {
+	struct pcie_port_device_ext *p_ext;
 	int status, type, capabilities, irq_mode, i;
 	int vectors[PCIE_PORT_DEVICE_MAXSERVICES];
 	u16 reg16;
 
+	/* Allocate port device extension */
+	if (!(p_ext = kmalloc(sizeof(struct pcie_port_device_ext), GFP_KERNEL)))
+		return -ENOMEM;
+
+	pci_set_drvdata(dev, p_ext);
+
 	/* Get port type */
 	pci_read_config_word(dev,
 		pci_find_capability(dev, PCI_CAP_ID_EXP) +
@@ -288,6 +295,7 @@ int pcie_port_device_register(struct pci
 	/* Now get port services */
 	capabilities = get_port_device_capability(dev);
 	irq_mode = assign_interrupt_mode(dev, vectors, capabilities);
+	p_ext->interrupt_mode = irq_mode;
 
 	/* Allocate child services if any */
 	for (i = 0; i < PCIE_PORT_DEVICE_MAXSERVICES; i++) {
drivers/pci/pcie/portdrv_pci.c +78 -1

100 lines not on this page · raw message

author
#7 lore raw

PATCH 1/1 PCI: Add PCI quirk for SMBus on the Asus P4B-LX

[PATCH] PCI: Add PCI quirk for SMBus on the Asus P4B-LX

One more Asus motherboard requiring the SMBus quirk (P4B-LX). Original patch from Salah Coronya.

---
commit a00db371624e2e3718e5ab7d73bf364681098106
tree e1911719bc7bb14eb806b93950ac8c73e5f77e19
parent 75865858971add95809c5c9cd35dc4cfba08e33b
author Jean Delvare <[email protected]> Wed, 29 Jun 2005 17:04:06 +0200 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:51 -0700

 drivers/pci/quirks.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/pci/quirks.c +1 -0
@@ -767,6 +767,7 @@ static void __init asus_hides_smbus_host
 	if (unlikely(dev->subsystem_vendor == PCI_VENDOR_ID_ASUSTEK)) {
 		if (dev->device == PCI_DEVICE_ID_INTEL_82845_HB)
 			switch(dev->subsystem_device) {
+			case 0x8025: /* P4B-LX */
 			case 0x8070: /* P4B */
 			case 0x8088: /* P4B533 */
 			case 0x1626: /* L3C notebook */
author
#8 lore raw

PATCH 1/1 PCI: Remove newline from pci MODALIAS variable

[PATCH] PCI: Remove newline from pci MODALIAS variable

the pci core sends out a hotplug event variable MODALIAS with a trailing newline. This is inconsistent with all other event variables and breaks some hotplug tools. This patch removes the said newline.

---
commit c6e21e1683c2508a2b23588e1fc2e7bf6fc2549e
tree 17e925938d956a3eb17aa59ce0d3add0957906e1
parent 5823d100ae260d022b4dd5ec9cc0b85f0bf0d646
author Hannes Reinecke <[email protected]> Tue, 28 Jun 2005 14:57:10 +0200 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:51 -0700

 drivers/pci/hotplug.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/pci/hotplug.c +1 -1
@@ -54,7 +54,7 @@ int pci_hotplug (struct device *dev, cha
 
 	envp[i++] = scratch;
 	length += scnprintf (scratch, buffer_size - length,
-			    "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x\n",
+			    "MODALIAS=pci:v%08Xd%08Xsv%08Xsd%08Xbc%02Xsc%02Xi%02x",
 			    pdev->vendor, pdev->device,
 			    pdev->subsystem_vendor, pdev->subsystem_device,
 			    (u8)(pdev->class >> 16), (u8)(pdev->class >> 8),
author
#9 lore raw

PATCH 1/1 gregkh-pci-pci-assign-unassigned-resources fix

[PATCH] gregkh-pci-pci-assign-unassigned-resources fix

It seems that X86 architectures in general need the setup-bus.o not just those with HOTPLUG. This avoids the following error on X86_NUMAQ and x86_64:

arch/i386/pci/built-in.o(.init.text+0x15a6): In function `pcibios_init':
: undefined reference to `pci_assign_unassigned_resources'

---
commit 43a6b76050aa137c51d00eec91d67ac43ac3846e
tree f29f94e98a45c5102f1516afa45ac2ec46f2dd57
parent 5848f23d811acc1cb6c19a12e1341e0640a85d0e
author Andy Whitcroft <[email protected]> Mon, 20 Jun 2005 14:29:25 -0700 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:52 -0700

 drivers/pci/Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/pci/Makefile +1 -0
@@ -19,6 +19,7 @@ obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
 #
 # Some architectures use the generic PCI setup functions
 #
+obj-$(CONFIG_X86) += setup-bus.o
 obj-$(CONFIG_ALPHA) += setup-bus.o setup-irq.o
 obj-$(CONFIG_ARM) += setup-bus.o setup-irq.o
 obj-$(CONFIG_PARISC) += setup-bus.o
author
#10 lore raw

PATCH 1/1 pci: cleanup argument comments for pci_{save,restore}_state

[PATCH] pci: cleanup argument comments for pci_{save,restore}_state

The buffer arguments have been removed from pci_{save,restore}_state. The comment blocks for those functions should reflect that.

---
commit 5848f23d811acc1cb6c19a12e1341e0640a85d0e
tree 03281e4a15e538ffb18ab1f3f02a1b61736a8c84
parent c6e21e1683c2508a2b23588e1fc2e7bf6fc2549e
author John W. Linville <[email protected]> Fri, 01 Jul 2005 14:07:28 -0400 committer Greg Kroah-Hartman <[email protected]> Fri, 01 Jul 2005 13:35:52 -0700

 drivers/pci/pci.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)
drivers/pci/pci.c +0 -6
@@ -334,10 +334,6 @@ EXPORT_SYMBOL(pci_choose_state);
 /**
  * pci_save_state - save the PCI configuration space of a device before suspending
  * @dev: - PCI device that we're dealing with
- * @buffer: - buffer to hold config space context
- *
- * @buffer must be large enough to hold the entire PCI 2.2 config space 
- * (>= 64 bytes).
  */
 int
 pci_save_state(struct pci_dev *dev)
@@ -352,8 +348,6 @@ pci_save_state(struct pci_dev *dev)
 /** 
  * pci_restore_state - Restore the saved state of a PCI device
  * @dev: - PCI device that we're dealing with
- * @buffer: - saved PCI config space
- *
  */
 int 
 pci_restore_state(struct pci_dev *dev)
#11 lore raw

PATCH 1/1 ACPI patches for 2.6.13-rc2

In reply to Greg KH

Hi Linus,

Please pull from:

rsync://rsync.kernel.org/pub/scm/linux/kernel/git/lenb/linux-2.6.git/ or master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-2.6.git/

This batch of patches was stranded in BK upon 2.6.12-rc2 and has been in and out of the mm tree various times since.

thanks,
-Len

p.s.
Plain patches (with quilt series file) available here:

http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.12/broken-out/
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.13/broken-out/

 Documentation/acpi-hotkey.txt                     |   35 
 arch/frv/mb93090-mb00/pci-irq.c                   |    2 
 arch/i386/kernel/acpi/Makefile                    |    4 
 arch/i386/kernel/acpi/cstate.c                    |  103 ++
 arch/i386/kernel/acpi/wakeup.S                    |    5 
 arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c |    2 
 arch/i386/pci/irq.c                               |   16 
 arch/i386/pci/visws.c                             |    2 
 arch/ia64/kernel/acpi.c                           |   54 +
 arch/ia64/kernel/mca.c                            |    2 
 arch/ia64/kernel/process.c                        |    1 
 arch/ia64/kernel/setup.c                          |    3 
 arch/ia64/kernel/topology.c                       |    7 
 drivers/acpi/Kconfig                              |   38 
 drivers/acpi/Makefile                             |    5 
 drivers/acpi/asus_acpi.c                          |    4 
 drivers/acpi/bus.c                                |    8 
 drivers/acpi/button.c                             |  245 -----
 drivers/acpi/dispatcher/dsfield.c                 |   58 -
 drivers/acpi/dispatcher/dsinit.c                  |   28 
 drivers/acpi/dispatcher/dsmethod.c                |   11 
 drivers/acpi/dispatcher/dsmthdat.c                |  195 ++--
 drivers/acpi/dispatcher/dsobject.c                |   79 +
 drivers/acpi/dispatcher/dsopcode.c                |  105 +-
 drivers/acpi/dispatcher/dsutils.c                 |   41 
 drivers/acpi/dispatcher/dswexec.c                 |   57 -
 drivers/acpi/dispatcher/dswload.c                 |  118 +-
 drivers/acpi/dispatcher/dswscope.c                |   31 
 drivers/acpi/dispatcher/dswstate.c                |  458 +++++----
 drivers/acpi/ec.c                                 |  420 ++++++---
 drivers/acpi/events/evevent.c                     |   33 
 drivers/acpi/events/evgpe.c                       |   39 
 drivers/acpi/events/evgpeblk.c                    |   63 +
 drivers/acpi/events/evmisc.c                      |   97 +-
 drivers/acpi/events/evregion.c                    |   35 
 drivers/acpi/events/evrgnini.c                    |   14 
 drivers/acpi/events/evsci.c                       |   12 
 drivers/acpi/events/evxface.c                     |   19 
 drivers/acpi/events/evxfevnt.c                    |   25 
 drivers/acpi/executer/exconfig.c                  |   31 
 drivers/acpi/executer/exconvrt.c                  |   44 
 drivers/acpi/executer/excreate.c                  |   50 -
 drivers/acpi/executer/exdump.c                    |  105 +-
 drivers/acpi/executer/exfield.c                   |   25 
 drivers/acpi/executer/exfldio.c                   |  133 +-
 drivers/acpi/executer/exmisc.c                    |    7 
 drivers/acpi/executer/exmutex.c                   |   45 
 drivers/acpi/executer/exnames.c                   |   70 -
 drivers/acpi/executer/exoparg1.c                  |   94 +-
 drivers/acpi/executer/exoparg2.c                  |   69 -
 drivers/acpi/executer/exoparg3.c                  |   25 
 drivers/acpi/executer/exoparg6.c                  |   26 
 drivers/acpi/executer/exprep.c                    |  104 +-
 drivers/acpi/executer/exregion.c                  |   34 
 drivers/acpi/executer/exresnte.c                  |   24 
 drivers/acpi/executer/exresolv.c                  |   63 -
 drivers/acpi/executer/exresop.c                   |   80 +
 drivers/acpi/executer/exstore.c                   |  260 ++++-
 drivers/acpi/executer/exstoren.c                  |   20 
 drivers/acpi/executer/exstorob.c                  |    9 
 drivers/acpi/executer/exsystem.c                  |   48 -
 drivers/acpi/executer/exutils.c                   |   37 
 drivers/acpi/glue.c                               |  360 +++++++
 drivers/acpi/hardware/hwacpi.c                    |   19 
 drivers/acpi/hardware/hwgpe.c                     |   31 
 drivers/acpi/hardware/hwregs.c                    |  114 +-
 drivers/acpi/hardware/hwsleep.c                   |  101 +-
 drivers/acpi/hardware/hwtimer.c                   |    4 
 drivers/acpi/hotkey.c                             | 1019
++++++++++++++++++++++
 drivers/acpi/ibm_acpi.c                           |    8 
 drivers/acpi/namespace/nsaccess.c                 |    5 
 drivers/acpi/namespace/nsalloc.c                  |  121 +-
 drivers/acpi/namespace/nsdump.c                   |  109 +-
 drivers/acpi/namespace/nsdumpdv.c                 |   18 
 drivers/acpi/namespace/nseval.c                   |   70 +
 drivers/acpi/namespace/nsinit.c                   |   28 
 drivers/acpi/namespace/nsload.c                   |   28 
 drivers/acpi/namespace/nsnames.c                  |   12 
 drivers/acpi/namespace/nsobject.c                 |   14 
 drivers/acpi/namespace/nssearch.c                 |   29 
 drivers/acpi/namespace/nsutils.c                  |  167 ++-
 drivers/acpi/namespace/nswalk.c                   |    2 
 drivers/acpi/namespace/nsxfeval.c                 |   16 
 drivers/acpi/namespace/nsxfname.c                 |    8 
 drivers/acpi/namespace/nsxfobj.c                  |    4 
 drivers/acpi/osl.c                                |   12 
 drivers/acpi/parser/psargs.c                      |   55 -
 drivers/acpi/parser/psopcode.c                    |  298 ------
 drivers/acpi/parser/psparse.c                     |  144 +--
 drivers/acpi/parser/psscope.c                     |   45 
 drivers/acpi/parser/pstree.c                      |  159 +--
 drivers/acpi/parser/psutils.c                     |   15 
 drivers/acpi/parser/pswalk.c                      |   11 
 drivers/acpi/parser/psxface.c                     |   21 
 drivers/acpi/pci_link.c                           |   43 
 drivers/acpi/processor_core.c                     |   37 
 drivers/acpi/processor_idle.c                     |  138 ++
 drivers/acpi/processor_perflib.c                  |   33 
 drivers/acpi/resources/rsaddr.c                   |  480 ++++------
 drivers/acpi/resources/rscalc.c                   |  144 +--
 drivers/acpi/resources/rscreate.c                 |   45 
 drivers/acpi/resources/rsdump.c                   |  402 ++++----
 drivers/acpi/resources/rsio.c                     |  197 +---
 drivers/acpi/resources/rsirq.c                    |  167 +--
 drivers/acpi/resources/rslist.c                   |   68 -
 drivers/acpi/resources/rsmemory.c                 |  236 ++---
 drivers/acpi/resources/rsmisc.c                   |  160 +--
 drivers/acpi/resources/rsutils.c                  |   53 -
 drivers/acpi/resources/rsxface.c                  |   43 
 drivers/acpi/scan.c                               |   12 
 drivers/acpi/sleep/main.c                         |   74 -
 drivers/acpi/sleep/poweroff.c                     |   81 +
 drivers/acpi/sleep/proc.c                         |    9 
 drivers/acpi/tables/tbconvrt.c                    |  105 +-
 drivers/acpi/tables/tbget.c                       |   63 -
 drivers/acpi/tables/tbgetall.c                    |   45 
 drivers/acpi/tables/tbinstal.c                    |   31 
 drivers/acpi/tables/tbrsdt.c                      |   19 
 drivers/acpi/tables/tbutils.c                     |   97 +-
 drivers/acpi/tables/tbxface.c                     |   39 
 drivers/acpi/tables/tbxfroot.c                    |  123 +-
 drivers/acpi/toshiba_acpi.c                       |    8 
 drivers/acpi/utilities/utalloc.c                  |   84 +
 drivers/acpi/utilities/utcopy.c                   |  126 +-
 drivers/acpi/utilities/utdebug.c                  |  106 +-
 drivers/acpi/utilities/utdelete.c                 |   63 -
 drivers/acpi/utilities/uteval.c                   |   36 
 drivers/acpi/utilities/utglobal.c                 |  133 +-
 drivers/acpi/utilities/utinit.c                   |   36 
 drivers/acpi/utilities/utmath.c                   |    2 
 drivers/acpi/utilities/utmisc.c                   |  187 ++--
 drivers/acpi/utilities/utobject.c                 |   68 +
 drivers/acpi/utilities/utxface.c                  |   61 -
 drivers/acpi/video.c                              |   15 
 drivers/base/sys.c                                |    1 
 drivers/net/b44.c                                 |    3 
 drivers/net/ne2k-pci.c                            |    3 
 drivers/pci/pci-acpi.c                            |  110 ++
 drivers/pci/pci.c                                 |   22 
 drivers/pci/pci.h                                 |    4 
 drivers/pcmcia/yenta_socket.c                     |    3 
 drivers/pnp/pnpacpi/rsparser.c                    |   15 
 drivers/pnp/pnpbios/rsparser.c                    |    2 
 drivers/pnp/resource.c                            |    2 
 drivers/usb/core/hcd-pci.c                        |    1 
 include/acpi/acconfig.h                           |    7 
 include/acpi/acdebug.h                            |  146 ---
 include/acpi/acdisasm.h                           |  114 --
 include/acpi/acdispat.h                           |  171 +--
 include/acpi/acevents.h                           |   85 -
 include/acpi/acexcep.h                            |    5 
 include/acpi/acglobal.h                           |   12 
 include/acpi/achware.h                            |   52 -
 include/acpi/acinterp.h                           |  243 +----
 include/acpi/aclocal.h                            |   10 
 include/acpi/acmacros.h                           |   10 
 include/acpi/acnames.h                            |   84 +
 include/acpi/acnamesp.h                           |  163 ---
 include/acpi/acobject.h                           |    2 
 include/acpi/acopcode.h                           |  325 +++++++
 include/acpi/acparser.h                           |  134 +-
 include/acpi/acpi.h                               |    1 
 include/acpi/acpi_bus.h                           |   21 
 include/acpi/acpi_drivers.h                       |    5 
 include/acpi/acpiosxf.h                           |   18 
 include/acpi/acpixf.h                             |   13 
 include/acpi/acresrc.h                            |   67 -
 include/acpi/acstruct.h                           |    1 
 include/acpi/actables.h                           |   70 -
 include/acpi/actbl.h                              |    2 
 include/acpi/actypes.h                            |    2 
 include/acpi/acutils.h                            |  274 +----
 include/acpi/amlcode.h                            |   12 
 include/acpi/pdc_intel.h                          |   29 
 include/acpi/platform/acenv.h                     |   20 
 include/acpi/processor.h                          |   34 
 include/asm-alpha/pci.h                           |    2 
 include/asm-arm/pci.h                             |    2 
 include/asm-h8300/pci.h                           |    2 
 include/asm-i386/acpi.h                           |   10 
 include/asm-i386/apicdef.h                        |    6 
 include/asm-i386/pci.h                            |    2 
 include/asm-ia64/acpi.h                           |    9 
 include/asm-ia64/pci.h                            |    2 
 include/asm-m68k/pci.h                            |    2 
 include/asm-mips/pci.h                            |    2 
 include/asm-ppc/pci.h                             |    2 
 include/asm-ppc64/pci.h                           |    2 
 include/asm-sh/pci.h                              |    2 
 include/asm-sh64/pci.h                            |    2 
 include/asm-sparc/pci.h                           |    2 
 include/asm-sparc64/pci.h                         |    2 
 include/asm-x86_64/acpi.h                         |    8 
 include/asm-x86_64/pci.h                          |    2 
 include/linux/acpi.h                              |    7 
 include/linux/device.h                            |    6 
 include/linux/pm.h                                |    2 
 kernel/power/main.c                               |   16 
 198 files changed, 7755 insertions(+), 5428 deletions(-)

commit 5028770a42e7bc4d15791a44c28f0ad539323807
Merge: 9f02d6b7b43d46a74dd385f06090104ecd0fb807
d8683a0cb5d09cb7f19feefa708424a84577e68f

Author: Len Brown <[email protected]>
Date:   Tue Jul 12 17:21:56 2005 -0400

[ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...

commit d8683a0cb5d09cb7f19feefa708424a84577e68f

Author: Len Brown <[email protected]>
Date:   Sun Jul 3 16:42:23 2005 -0400

[ACPI] increase MAX_IO_APICS to 64 on i386

x86_64 was already 128

http://bugzilla.kernel.org/show_bug.cgi?id=3754

commit 02df8b9385c21fdba165bd380f60eca1d3b0578b

Author: Venkatesh Pallipadi <[email protected]>
Date:   Fri Apr 15 15:07:10 2005 -0400

[ACPI] enable C2 and C3 idle power states on SMP
http://bugzilla.kernel.org/show_bug.cgi?id=4401

commit 17e9c78a75ce9eacd61200f9e1f1924012e28846

Author: Luming Yu <[email protected]>
Date:   Fri Apr 22 23:07:10 2005 -0400

[ACPI] EC GPE-disabled issue
http://bugzilla.kernel.org/show_bug.cgi?id=3851

commit a27ac38efd6dc6dccebfc9bcc475ab4aa5fc4a56

Author: Len Brown <[email protected]>
Date:   Fri Apr 5 00:07:45 2019 -0500

[ACPI] fix merge error that broke CONFIG_ACPI_DEBUG=y build

commit 590275ce72c48fdbddea057bc9ee379c1fd851ef

Author: Jesse Barnes <[email protected]>
Date:   Mon Apr 18 23:52:17 2005 -0400

[ACPI] cleanup: delete !IA64_SGI_SN from acpi/Kconfig

commit 6c4fa56033c11ad5c5929bf3edd1505d3d8a8c0b

Author: Venkatesh Pallipadi <[email protected]>
Date:   Mon Apr 18 23:06:47 2005 -0400

[ACPI] fix C1 patch for IA64
http://bugzilla.kernel.org/show_bug.cgi?id=4233

commit ef7b06cd905424aea7c31f27fef622e84e75e650

Author: David Shaohua Li <[email protected]>
Date:   Mon Apr 18 22:59:23 2005 -0400

[ACPI] quiet dmesg related to ACPI PM of PCI devices

DBG("No ACPI bus support for %s\n", dev->bus_id);
http://bugzilla.kernel.org/show_bug.cgi?id=4277

commit 44f6c01242da4e162f28d8e1216a8c7a91174605

Author: Robert Moore <[email protected]>
Date:   Mon Apr 18 22:49:35 2005 -0400

ACPICA 20050408 from Bob Moore

Fixed three cases in the interpreter where an "index" argument to an ASL function was still (internally) 32 bits instead of the required 64 bits. This was the Index argument to the Index, Mid, and Match operators.

The "strupr" function is now permanently local (acpi_ut_strupr), since this is not a POSIX-defined function and not present in most kernel-level C libraries. References to the C library strupr function have been removed from the headers.

Completed the deployment of static functions/prototypes. All prototypes with the static attribute have been moved from the headers to the owning C file.

ACPICA 20050329 from Bob Moore

An error is now generated if an attempt is made to create a Buffer Field of length zero (A CreateField with a length operand of zero.)

The interpreter now issues a warning whenever executable code at the module level is detected during ACPI table load. This will give some idea of the prevalence of this type of code.

Implemented support for references to named objects (other than control methods) within package objects.

Enhanced package object output for the debug object. Package objects are now completely dumped, showing all elements.

Enhanced miscellaneous object output for the debug object. Any object can now be written to the debug object (for example, a device object can be written, and the type of the object will be displayed.)

The "static" qualifier has been added to all local functions across the core subsystem.

The number of "long" lines (> 80 chars) within the source has been significantly reduced, by about 1/3.

Cleaned up all header files to ensure that all CA/iASL functions are prototyped (even static functions) and the formatting is consistent.

Two new header files have been added, acopcode.h and acnames.h.

Removed several obsolete functions that were no longer used.

commit ebb6e1a6122fd6b7c96470cfd4ce0f04150e5084

Author: Len Brown <[email protected]>
Date:   Thu Apr 14 23:12:56 2005 -0400

[ACPI] Deprecate /proc/acpi/sleep in favor of /sys/power/state

commit 9d9437759eb6fdb68f7b82cbee20b0fb711d9f0d

Author: Nickolai Zeldovich <[email protected]>
Date:   Fri Apr 8 23:37:34 2005 -0400

[ACPI] S3 resume -- use lgdtl, not lgdt

From: Nickolai Zeldovich <[email protected]>

commit c9c3e457de24cca2ca688fa397d93a241f472048

Author: David Shaohua Li <[email protected]>
Date:   Fri Apr 1 00:07:31 2005 -0500

[ACPI] PNPACPI vs sound IRQ

http://bugme.osdl.org/show_bug.cgi?id=4016

commit acf05f4b7f558051ea0028e8e617144123650272

Author: Venkatesh Pallipadi <[email protected]>
Date:   Thu Mar 31 23:23:15 2005 -0500

[ACPI] update /proc/acpi/processor/*/power even if only C1 support

commit 55e59c511cea3c6c721971467c707e9955922bc2

Author: Ashok Raj <[email protected]>
Date:   Thu Mar 31 22:51:10 2005 -0500

[ACPI] Evaluate CPEI Processor Override flag

ACPI 3.0 added a Correctable Platform Error Interrupt (CPEI) Processor Overide flag to MADT.Platform_Interrupt_Source. Record the processor that was provided as hint from ACPI.

commit 6940fabaa35b893163b7043d0d1dc5d715f9e1ca

Author: Keiichiro Tokunaga <[email protected]>
Date:   Wed Mar 30 23:15:47 2005 -0500

[ACPI] hotplug Processor consideration in acpi_bus_add()

commit 8de7a63b69a263b7549599be882d7aa15397f8b3

Author: Andrew Morton <[email protected]>
Date:   Wed Mar 30 22:53:30 2005 -0500

[ACPI] fix debug-mode build warning in acpi/hotkey.c

drivers/acpi/hotkey.c: In function `create_polling_proc':
drivers/acpi/hotkey.c:334: warning: ISO C90 forbids mixed
declarations and code

commit d1dd0c23916bd781de27bc5ec1c295064e9ce9cc

Author: Paulo Marques <[email protected]>
Date:   Wed Mar 30 22:39:49 2005 -0500

[ACPI] fix kmalloc size bug in acpi/video.c

acpi_video_device_find_cap() used &p instead of *p when calculating storage size, thus allocating only 4 or 8 bytes instead of 12...

Also, kfree(NULL) is legal, so remove some unneeded checks.

From: Paulo Marques <[email protected]>

commit 7334571f724df7a19f48cc974e991e00afde1e2f

Author: Adrian Bunk <[email protected]>
Date:   Wed Mar 30 22:31:35 2005 -0500

[ACPI] fix potential NULL dereference in acpi/video.c

commit f4224153098c1103db592b28f304beeb9c02481b

Author: Panagiotis Issaris <[email protected]>
Date:   Wed Mar 30 22:15:36 2005 -0500

[ACPI] check for kmalloc failure in toshiba_acpi.c

commit 83ea7445221651dc43cf8d22f81089e0cbccf22b

Author: Andrew Morton <[email protected]>
Date:   Wed Mar 30 22:12:13 2005 -0500

[ACPI] fix build warning

commit f165b10f4a9aac7fee9b11a125de20a1712be128

Author: Greg Kroah-Hartman <[email protected]>
Date:   Wed Mar 30 21:23:19 2005 -0500

cleanup: remove unnecessary initializer on static pointers

commit b008b8d7092053fc1f036cfc54dc11740cc424ed

Author: Matthieu Castet <[email protected]>
Date:   Fri Mar 25 12:03:15 2005 -0500

[ACPI] PNPACPI parse error

http://bugzilla.kernel.org/show_bug.cgi?id=3912

commit a406d9e63e1d7088aad22565449de2e109300e5c

Author: Len Brown <[email protected]>
Date:   Wed Mar 23 16:16:03 2005 -0500

[ACPI] gut acpi_pci_choose_state() to avoid conflict with pending pm_message_t re-definition.

commit fa9cd547e097df4966b8bd5c94aeed953e32b14d

Author: Luming Yu <[email protected]>
Date:   Sat Mar 19 01:54:47 2005 -0500

[ACPI] fix EC access width
http://bugzilla.kernel.org/show_bug.cgi?id=4346

Written-by David Shaohua Li and Luming Yu

commit 451566f45a2e6cd10ba56e7220a9dd84ba3ef550

Author: Dmitry Torokhov <[email protected]>
Date:   Sat Mar 19 01:10:05 2005 -0500

[ACPI] Enable EC Burst Mode

Fixes several Embedded Controller issues, including button failure and battery status AE_TIME failure.

http://bugzilla.kernel.org/show_bug.cgi?id=3851

Based on patch by: Andi Kleen <[email protected]>

commit b913100d7304ea9596d8d85ab5f3ae04bd2b0ddb

Author: David Shaohua Li <[email protected]>
Date:   Sat Mar 19 00:16:18 2005 -0500

[ACPI] pci_set_power_state() now calls
platform_pci_set_power_state()
and ACPI can answer

http://bugzilla.kernel.org/show_bug.cgi?id=4277

commit 0f64474b8f7f1f7f3af5b24ef997baa35f923509

Author: David Shaohua Li <[email protected]>
Date:   Sat Mar 19 00:15:48 2005 -0500

[ACPI] PCI can now get suspend state from firmware

pci_choose_state() can now call
platform_pci_choose_state()
and ACPI can answer

http://bugzilla.kernel.org/show_bug.cgi?id=4277

commit 84df749f364209c9623304b7a94ddb954dc343bb

Author: David Shaohua Li <[email protected]>
Date:   Fri Mar 18 18:53:36 2005 -0500

[ACPI] Bind ACPI and PCI devices

http://bugzilla.kernel.org/show_bug.cgi?id=4277

commit 4e10d12a3d88c88fba3258809aa42d14fd8cf1d1

Author: David Shaohua Li <[email protected]>
Date:   Fri Mar 18 18:45:35 2005 -0500

[ACPI] Bind PCI devices with ACPI devices

Implement the framework for binding physical devices with ACPI devices. A physical bus like PCI bus should create a 'acpi_bus_type', with:

.find_device:
For device which has parent such as normal PCI devices.

.find_bridge:
It's for special devices, such as PCI root bridge
or IDE controller. Such devices generally haven't a parent or ->bus. We use the special method to get an ACPI handle.

Uses new field in struct device: firmware_data

http://bugzilla.kernel.org/show_bug.cgi?id=4277

commit fb9802fa59b196d7f90bb3c2e33c555c6bdc4c54

Author: Luming Yu <[email protected]>
Date:   Fri Mar 18 18:03:45 2005 -0500

[ACPI] generic Hot Key support

See Documentation/acpi-hotkey.txt

Use cmdline "acpi_specific_hotkey" to enable
legacy platform specific drivers.

http://bugzilla.kernel.org/show_bug.cgi?id=3887

commit d58da590451cf6ae75379a2ebf96d3afb8d810d8

Author: David Shaohua Li <[email protected]>
Date:   Fri Mar 18 16:43:54 2005 -0500

[ACPI] S3 Suspend to RAM: fix driver suspend/resume methods

Drivers should do this:

.suspend()
pci_disable_device()

.resume()
pci_enable_device()

http://bugzilla.kernel.org/show_bug.cgi?id=3469

commit 362b06bb70b5a5779b2e852e0f2bdb437061106e

Author: David Shaohua Li <[email protected]>
Date:   Fri Mar 18 16:30:29 2005 -0500

[ACPI] S3 Suspend to RAM: interrupt resume fix

Delete PCI Interrupt Link Device .resume method -- it is the device driver's job to request interrupts, not the Link's job to remember what the devices want.

This addresses the issue of attempting to run the ACPI interpreter too early in resume, when interrupts are still disabled.

http://bugzilla.kernel.org/show_bug.cgi?id=3469

commit 5ae947ecc9c1c23834201e5321684a5cb68bdd3f

Author: David Shaohua Li <[email protected]>
Date:   Fri Mar 18 16:27:13 2005 -0500

[ACPI] Suspend to RAM fix

Free some RAM before entering S3 so that upon resume we can be sure early allocations will succeed.

http://bugzilla.kernel.org/show_bug.cgi?id=3469

commit e2a5b420f716cd1a46674b1a90389612eced916f

Author: Alexey Starikovskiy <[email protected]>
Date:   Fri Mar 18 16:20:46 2005 -0500

[ACPI] ACPI poweroff fix

Register an "acpi" system device to be notified of shutdown
preparation.
This depends on CONFIG_PM

http://bugzilla.kernel.org/show_bug.cgi?id=4041

commit be91492ca871e58f61b517cfba541095bb60001c

Author: Len Brown <[email protected]>
Date:   Fri Mar 18 16:00:29 2005 -0500

[ACPI] CONFIG_ACPI now depends on CONFIG_PM

commit bd4698dad3023ae137b366c736e29ca6eaf3b9f7

Author: Alexey Starikovskiy <[email protected]>
Date:   Fri Mar 18 15:35:22 2005 -0500

[ACPI] Allow simultaneous Fixed Feature and Control Method buttons delete /proc/acpi/button

http://bugzilla.kernel.org/show_bug.cgi?id=1920

commit 45b1b196677b8009ab6cdc4b656265f1d7015c1b

Author: Keiichiro Tokunaga <[email protected]>
Date:   Wed Mar 2 00:00:00 2005 -0500

[ACPI] update CONFIG_ACPI_CONTAINER Kconfig help