WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [linux-2.6.18-xen] Backport: PCI: define PCI resource na

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] Backport: PCI: define PCI resource names in an 'enum'
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Mar 2009 01:55:04 -0700
Delivery-date: Fri, 13 Mar 2009 01:55:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1236934215 0
# Node ID f77ac4979fae40185d00543d99f789d84c9d1f41
# Parent  f0dd7eb92bc9db85f5f652e7e61fbadbd6ec6752
Backport: PCI: define PCI resource names in an 'enum'

    commit fde09c6d8f92de0c9f75698a75f0989f2234c517
    Author: Yu Zhao <yu.zhao@xxxxxxxxx>
    Date:   Sat Nov 22 02:39:32 2008 +0800

    PCI: define PCI resource names in an 'enum'

    This patch moves all definitions of the PCI resource names to an
    'enum',
    and also replaces some hard-coded resource variables with symbol
    names. This change eases introduction of device specific
    resources.

    Reviewed-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
    Signed-off-by: Yu Zhao <yu.zhao@xxxxxxxxx>
    Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>

Signed-off-by: Yu Zhao <yu.zhao@xxxxxxxxx>
---
 drivers/pci/pci-sysfs.c |    4 +++-
 drivers/pci/probe.c     |    2 +-
 drivers/pci/proc.c      |    7 ++++---
 include/linux/pci.h     |   39 +++++++++++++++++++++++++--------------
 4 files changed, 33 insertions(+), 19 deletions(-)

diff -r f0dd7eb92bc9 -r f77ac4979fae drivers/pci/pci-sysfs.c
--- a/drivers/pci/pci-sysfs.c   Fri Mar 13 07:42:13 2009 +0000
+++ b/drivers/pci/pci-sysfs.c   Fri Mar 13 08:50:15 2009 +0000
@@ -85,11 +85,13 @@ resource_show(struct device * dev, struc
        struct pci_dev * pci_dev = to_pci_dev(dev);
        char * str = buf;
        int i;
-       int max = 7;
+       int max;
        resource_size_t start, end;
 
        if (pci_dev->subordinate)
                max = DEVICE_COUNT_RESOURCE;
+       else
+               max = PCI_BRIDGE_RESOURCES;
 
        for (i = 0; i < max; i++) {
                struct resource *res =  &pci_dev->resource[i];
diff -r f0dd7eb92bc9 -r f77ac4979fae drivers/pci/probe.c
--- a/drivers/pci/probe.c       Fri Mar 13 07:42:13 2009 +0000
+++ b/drivers/pci/probe.c       Fri Mar 13 08:50:15 2009 +0000
@@ -417,7 +417,7 @@ pci_alloc_child_bus(struct pci_bus *pare
        child->bridge = get_device(&bridge->dev);
 
        /* Set up default resource pointers and names.. */
-       for (i = 0; i < 4; i++) {
+       for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) {
                child->resource[i] = &bridge->resource[PCI_BRIDGE_RESOURCES+i];
                child->resource[i]->name = child->name;
        }
diff -r f0dd7eb92bc9 -r f77ac4979fae drivers/pci/proc.c
--- a/drivers/pci/proc.c        Fri Mar 13 07:42:13 2009 +0000
+++ b/drivers/pci/proc.c        Fri Mar 13 08:50:15 2009 +0000
@@ -348,15 +348,16 @@ static int show_device(struct seq_file *
                        dev->vendor,
                        dev->device,
                        dev->irq);
-       /* Here should be 7 and not PCI_NUM_RESOURCES as we need to preserve 
compatibility */
-       for (i=0; i<7; i++) {
+
+       /* only print standard and ROM resources to preserve compatibility */
+       for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
                resource_size_t start, end;
                pci_resource_to_user(dev, i, &dev->resource[i], &start, &end);
                seq_printf(m, "\t%16llx",
                        (unsigned long long)(start |
                        (dev->resource[i].flags & PCI_REGION_FLAG_MASK)));
        }
-       for (i=0; i<7; i++) {
+       for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
                resource_size_t start, end;
                pci_resource_to_user(dev, i, &dev->resource[i], &start, &end);
                seq_printf(m, "\t%16llx",
diff -r f0dd7eb92bc9 -r f77ac4979fae include/linux/pci.h
--- a/include/linux/pci.h       Fri Mar 13 07:42:13 2009 +0000
+++ b/include/linux/pci.h       Fri Mar 13 08:50:15 2009 +0000
@@ -65,8 +65,31 @@ enum pci_mmap_state {
 #define PCI_DMA_NONE           3
 
 #define DEVICE_COUNT_COMPATIBLE        4
-#define DEVICE_COUNT_RESOURCE  12
-
+
+/*
+ *  For PCI devices, the region numbers are assigned this way:
+ */
+enum {
+       /* #0-5: standard PCI resources */
+       PCI_STD_RESOURCES,
+       PCI_STD_RESOURCE_END = 5,
+
+       /* #6: expansion ROM resource */
+       PCI_ROM_RESOURCE,
+
+       /* resources assigned to buses behind the bridge */
+#define PCI_BRIDGE_RESOURCE_NUM 4
+
+       PCI_BRIDGE_RESOURCES,
+       PCI_BRIDGE_RESOURCE_END = PCI_BRIDGE_RESOURCES +
+                                 PCI_BRIDGE_RESOURCE_NUM - 1,
+
+       /* total resources associated with a PCI device */
+       PCI_NUM_RESOURCES,
+
+       /* preserve this for compatibility */
+       DEVICE_COUNT_RESOURCE
+};
 typedef int __bitwise pci_power_t;
 
 #define PCI_D0         ((pci_power_t __force) 0)
@@ -203,18 +226,6 @@ static inline void pci_remove_saved_cap(
 {
        hlist_del(&cap->next);
 }
-
-/*
- *  For PCI devices, the region numbers are assigned this way:
- *
- *     0-5     standard PCI regions
- *     6       expansion ROM
- *     7-10    bridges: address space assigned to buses behind the bridge
- */
-
-#define PCI_ROM_RESOURCE       6
-#define PCI_BRIDGE_RESOURCES   7
-#define PCI_NUM_RESOURCES      11
 
 #ifndef PCI_BUS_NUM_RESOURCES
 #define PCI_BUS_NUM_RESOURCES  8

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] Backport: PCI: define PCI resource names in an 'enum', Xen patchbot-linux-2.6.18-xen <=