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] xen pcifront: satisfy newer modpost r

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] xen pcifront: satisfy newer modpost requirements
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 20 Mar 2008 05:41:25 -0700
Delivery-date: Thu, 20 Mar 2008 05:47:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 1205839086 0
# Node ID 7a8ac7a685ba6a24ad24d459e2717f165febbbaa
# Parent  15d72fac31de6ff445e03539c451915feef6436b
xen pcifront: satisfy newer modpost requirements

pcifront_scan_root() calls pci_scan_bus_parented() possibly after core
kernel initialization, but that latter function is marked __devinit.
While HOTPLUG can be turned off only under EMBEDDED, 2.6.25's modpost
still (validly) catches this as an incorrect reference. Marking
pcifront_scan_root() __init_refok seems too dangerous, however, so
instead the much more streamlined pcifront_backend_changed() is being
marked so, and the rest of the offending dependencies is being marked
__devinit, and XEN_PCIDEV_FRONTEND now selects HOTPLUG to make it
independend of any changes in HOTPLUG's prompt visibility.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 arch/i386/Kconfig             |    1 +
 arch/x86_64/Kconfig           |    1 +
 drivers/xen/pcifront/pci_op.c |    8 ++++----
 drivers/xen/pcifront/xenbus.c |    8 ++++----
 4 files changed, 10 insertions(+), 8 deletions(-)

diff -r 15d72fac31de -r 7a8ac7a685ba arch/i386/Kconfig
--- a/arch/i386/Kconfig Tue Mar 18 11:17:05 2008 +0000
+++ b/arch/i386/Kconfig Tue Mar 18 11:18:06 2008 +0000
@@ -1065,6 +1065,7 @@ config XEN_PCIDEV_FRONTEND
 config XEN_PCIDEV_FRONTEND
        bool
        depends on PCI && X86_XEN && (PCI_GOXEN_FE || PCI_GOANY)
+       select HOTPLUG
        default y
 
 config XEN_PCIDEV_FE_DEBUG
diff -r 15d72fac31de -r 7a8ac7a685ba arch/x86_64/Kconfig
--- a/arch/x86_64/Kconfig       Tue Mar 18 11:17:05 2008 +0000
+++ b/arch/x86_64/Kconfig       Tue Mar 18 11:18:06 2008 +0000
@@ -621,6 +621,7 @@ config XEN_PCIDEV_FRONTEND
 config XEN_PCIDEV_FRONTEND
        bool "Xen PCI Frontend"
        depends on PCI && X86_64_XEN
+       select HOTPLUG
        default y
        help
          The PCI device frontend driver allows the kernel to import arbitrary
diff -r 15d72fac31de -r 7a8ac7a685ba drivers/xen/pcifront/pci_op.c
--- a/drivers/xen/pcifront/pci_op.c     Tue Mar 18 11:17:05 2008 +0000
+++ b/drivers/xen/pcifront/pci_op.c     Tue Mar 18 11:18:06 2008 +0000
@@ -295,8 +295,8 @@ static void pcifront_claim_resource(stru
        }
 }
 
-int pcifront_scan_root(struct pcifront_device *pdev,
-                      unsigned int domain, unsigned int bus)
+int __devinit pcifront_scan_root(struct pcifront_device *pdev,
+                                unsigned int domain, unsigned int bus)
 {
        struct pci_bus *b;
        struct pcifront_sd *sd = NULL;
@@ -353,8 +353,8 @@ int pcifront_scan_root(struct pcifront_d
        return err;
 }
 
-int pcifront_rescan_root(struct pcifront_device *pdev,
-                        unsigned int domain, unsigned int bus)
+int __devinit pcifront_rescan_root(struct pcifront_device *pdev,
+                                  unsigned int domain, unsigned int bus)
 {
        struct pci_bus *b;
        struct pci_dev *d;
diff -r 15d72fac31de -r 7a8ac7a685ba drivers/xen/pcifront/xenbus.c
--- a/drivers/xen/pcifront/xenbus.c     Tue Mar 18 11:17:05 2008 +0000
+++ b/drivers/xen/pcifront/xenbus.c     Tue Mar 18 11:18:06 2008 +0000
@@ -123,7 +123,7 @@ static int pcifront_publish_info(struct 
        return err;
 }
 
-static int pcifront_try_connect(struct pcifront_device *pdev)
+static int __devinit pcifront_try_connect(struct pcifront_device *pdev)
 {
        int err = -EFAULT;
        int i, num_roots, len;
@@ -214,7 +214,7 @@ static int pcifront_try_disconnect(struc
        return err;
 }
 
-static int pcifront_attach_devices(struct pcifront_device *pdev)
+static int __devinit pcifront_attach_devices(struct pcifront_device *pdev)
 {
        int err = -EFAULT;
        int i, num_roots, len;
@@ -360,8 +360,8 @@ static int pcifront_detach_devices(struc
        return err;
 }
 
-static void pcifront_backend_changed(struct xenbus_device *xdev,
-                                    enum xenbus_state be_state)
+static void __init_refok pcifront_backend_changed(struct xenbus_device *xdev,
+                                                 enum xenbus_state be_state)
 {
        struct pcifront_device *pdev = xdev->dev.driver_data;
 

_______________________________________________
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] xen pcifront: satisfy newer modpost requirements, Xen patchbot-linux-2.6.18-xen <=