[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] linux-2.6.18: pcifront/MSI: cleanup interface


  • To: "xen-devel" <xen-devel@xxxxxxxxxxxxx>
  • From: "Jan Beulich" <JBeulich@xxxxxxxx>
  • Date: Thu, 11 Apr 2013 15:56:39 +0100
  • Delivery-date: Thu, 11 Apr 2013 15:02:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

- declare functions in a header included by both producer and
  consumer(s)
- don't define private items in global header
- no need to (re-)declare pci_bus_sem

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/drivers/pci/msi-xen.c
+++ b/drivers/pci/msi-xen.c
@@ -17,6 +17,7 @@
 
 #include <xen/interface/physdev.h>
 #include <xen/evtchn.h>
+#include <xen/pcifront.h>
 
 #include <asm/errno.h>
 #include <asm/io.h>
@@ -605,7 +606,6 @@ static int msix_capability_init(struct p
  * indicates the successful setup of an entry zero with the new MSI
  * vector or non-zero for otherwise.
  **/
-extern int pci_frontend_enable_msi(struct pci_dev *dev);
 int pci_enable_msi(struct pci_dev* dev)
 {
        struct pci_bus *bus;
@@ -669,7 +669,6 @@ int pci_enable_msi(struct pci_dev* dev)
        return status;
 }
 
-extern void pci_frontend_disable_msi(struct pci_dev* dev);
 void pci_disable_msi(struct pci_dev* dev)
 {
        int pos;
@@ -730,8 +729,6 @@ void pci_disable_msi(struct pci_dev* dev
  * of vectors available. Driver should use the returned value to re-send
  * its request.
  **/
-extern int pci_frontend_enable_msix(struct pci_dev *dev,
-               struct msix_entry *entries, int nvec);
 int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec)
 {
        struct pci_bus *bus;
@@ -831,7 +828,6 @@ int pci_enable_msix(struct pci_dev* dev,
        return status;
 }
 
-extern void pci_frontend_disable_msix(struct pci_dev* dev);
 void pci_disable_msix(struct pci_dev* dev)
 {
        int pos;
--- a/drivers/xen/pcifront/pcifront.h
+++ b/drivers/xen/pcifront/pcifront.h
@@ -7,7 +7,6 @@
 #define __XEN_PCIFRONT_H__
 
 #include <linux/spinlock.h>
-#include <linux/pci.h>
 #include <xen/xenbus.h>
 #include <xen/interface/io/pciif.h>
 #include <linux/interrupt.h>
@@ -53,4 +52,35 @@ void pcifront_do_aer( void *data);
 
 irqreturn_t pcifront_handler_aer(int irq, void *dev, struct pt_regs *regs);
 
+#ifndef __ia64__
+
+static inline struct pcifront_device *
+pcifront_get_pdev(struct pcifront_sd *sd)
+{
+       return sd->pdev;
+}
+
+static inline void pcifront_setup_root_resources(struct pci_bus *bus,
+                                                struct pcifront_sd *sd)
+{
+}
+
+#else /* __ia64__ */
+
+#define pcifront_sd pci_controller
+
+static inline struct pcifront_device *
+pcifront_get_pdev(struct pcifront_sd *sd)
+{
+       return (struct pcifront_device *)sd->platform_data;
+}
+
+static inline void pcifront_setup_root_resources(struct pci_bus *bus,
+                                                struct pcifront_sd *sd)
+{
+       xen_pcibios_setup_root_windows(bus, sd);
+}
+
+#endif /* __ia64__ */
+
 #endif /* __XEN_PCIFRONT_H__ */
--- a/include/xen/pcifront.h
+++ b/include/xen/pcifront.h
@@ -6,26 +6,22 @@
 #ifndef __XEN_ASM_PCIFRONT_H__
 #define __XEN_ASM_PCIFRONT_H__
 
-#include <linux/spinlock.h>
-
 #ifdef __KERNEL__
 
-#ifndef __ia64__
+#include <linux/pci.h>
 
-struct pcifront_device;
-struct pci_bus;
+int pci_frontend_enable_msi(struct pci_dev *);
+void pci_frontend_disable_msi(struct pci_dev *);
+int pci_frontend_enable_msix(struct pci_dev *, struct msix_entry *, int nvec);
+void pci_frontend_disable_msix(struct pci_dev *);
+
+#ifndef __ia64__
 
 struct pcifront_sd {
        int domain;
        struct pcifront_device *pdev;
 };
 
-static inline struct pcifront_device *
-pcifront_get_pdev(struct pcifront_sd *sd)
-{
-       return sd->pdev;
-}
-
 #if defined(CONFIG_PCI_DOMAINS)
 static inline int pci_domain_nr(struct pci_bus *bus)
 {
@@ -38,38 +34,17 @@ static inline int pci_proc_domain(struct
 }
 #endif /* CONFIG_PCI_DOMAINS */
 
-static inline void pcifront_setup_root_resources(struct pci_bus *bus,
-                                                struct pcifront_sd *sd)
-{
-}
-
 #else /* __ia64__ */
 
 #include <linux/acpi.h>
-#include <asm/pci.h>
-#define pcifront_sd pci_controller
 
 extern void xen_add_resource(struct pci_controller *, unsigned int,
                             unsigned int, struct acpi_resource *);
 extern void xen_pcibios_setup_root_windows(struct pci_bus *,
                                           struct pci_controller *);
 
-static inline struct pcifront_device *
-pcifront_get_pdev(struct pcifront_sd *sd)
-{
-       return (struct pcifront_device *)sd->platform_data;
-}
-
-static inline void pcifront_setup_root_resources(struct pci_bus *bus,
-                                                struct pcifront_sd *sd)
-{
-       xen_pcibios_setup_root_windows(bus, sd);
-}
-
 #endif /* __ia64__ */
 
-extern struct rw_semaphore pci_bus_sem;
-
 #endif /* __KERNEL__ */
 
 #endif /* __XEN_ASM_PCIFRONT_H__ */


Attachment: xen-pcifront-MSI-cleanup.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.