aboutsummaryrefslogtreecommitdiffstats
path: root/pci
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-05-30 15:34:54 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2006-05-30 15:34:54 -0700
commit296ad66450ec0a4bc41b44d2b1bb86cbff182f2e (patch)
tree73992e13fa36f694219006bfca62ec18d3e08254 /pci
parente3e7920a4ec4c32af4c772be5e2cdb45798fcbea (diff)
downloadpatches-296ad66450ec0a4bc41b44d2b1bb86cbff182f2e.tar.gz
more patches added
Diffstat (limited to 'pci')
-rw-r--r--pci/kconfigurable-resources-arch-dependent-changes-arch.patch2
-rw-r--r--pci/pci-64-bit-resources-arch-powerpc-changes-update.patch46
2 files changed, 47 insertions, 1 deletions
diff --git a/pci/kconfigurable-resources-arch-dependent-changes-arch.patch b/pci/kconfigurable-resources-arch-dependent-changes-arch.patch
index 8f75d64990582..1e7265506735e 100644
--- a/pci/kconfigurable-resources-arch-dependent-changes-arch.patch
+++ b/pci/kconfigurable-resources-arch-dependent-changes-arch.patch
@@ -212,7 +212,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
if (start & 0x300) {
-@@ -1756,7 +1756,7 @@ long sys_pciconfig_iobase(long which, un
+@@ -1764,7 +1764,7 @@ long sys_pciconfig_iobase(long which, un
void pci_resource_to_user(const struct pci_dev *dev, int bar,
const struct resource *rsrc,
diff --git a/pci/pci-64-bit-resources-arch-powerpc-changes-update.patch b/pci/pci-64-bit-resources-arch-powerpc-changes-update.patch
new file mode 100644
index 0000000000000..83b1b9a60ccfa
--- /dev/null
+++ b/pci/pci-64-bit-resources-arch-powerpc-changes-update.patch
@@ -0,0 +1,46 @@
+From akpm@osdl.org Mon May 29 15:50:49 2006
+Message-Id: <200605292250.k4TMoSCr020768@shell0.pdx.osdl.net>
+From: Mel Gorman <mel@csn.ul.ie>
+Subject: PCI: 64-bit-resources-arch-powerpc-changes update
+To: mel@csn.ul.ie, greg@kroah.com, segher@kernel.crashing.org,
+ vgoyal@in.ibm.com, mm-commits@vger.kernel.org
+Date: Mon, 29 May 2006 15:54:48 -0700
+
+The 64-bit resource change ended up causing us to do a 64-bit divide and
+ppc32 won't link (missing __udivdi3).
+
+The following patch has been successfully boot tested on the same
+machine with 64 bit resource_size_t. Because the mask is assumed to be a
+power-of-two - 1, I added a comment and a BUG_ON() to be sure.
+
+Signed-off-by: Mel Gorman <mel@csn.ul.ie>
+Cc: Segher Boessenkool <segher@kernel.crashing.org>
+Cc: Vivek Goyal <vgoyal@in.ibm.com>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/powerpc/kernel/pci_32.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+--- gregkh-2.6.orig/arch/powerpc/kernel/pci_32.c
++++ gregkh-2.6/arch/powerpc/kernel/pci_32.c
+@@ -1114,8 +1114,16 @@ check_for_io_childs(struct pci_bus *bus,
+ int i;
+ int rc = 0;
+
+-#define push_end(res, size) do { unsigned long __sz = (size) ; \
+- res->end = ((res->end + __sz) / (__sz + 1)) * (__sz + 1) + __sz; \
++ /*
++ * Assuming mask is a power of two - 1, push_end
++ * moves res->end to the end of the next
++ * mask-aligned boundary.
++ * e.g. res->end of 0x1fff moves to 0x2fff
++ */
++#define push_end(res, mask) do { \
++ BUG_ON(((mask+1) & mask) != 0); \
++ res->end = -(-res->end & ~(unsigned long)mask); \
++ res->end += mask; \
+ } while (0)
+
+ list_for_each_entry(dev, &bus->devices, bus_list) {