]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
PCI: export pci_user functions for use by other drivers
authorAlex Williamson <alex.williamson@redhat.com>
Mon, 11 Jun 2012 05:27:19 +0000 (05:27 +0000)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 12 Jun 2012 15:21:42 +0000 (09:21 -0600)
VFIO PCI support will make use of these for user-initiated
PCI config accesses.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/access.c
drivers/pci/pci.h
include/linux/pci.h

index 2a581642c237b74a4b71a70d04c86c8365f8aff8..ba91a7e17519252e89f1fa112b4d89ce5da088d2 100644 (file)
@@ -162,7 +162,8 @@ int pci_user_read_config_##size                                             \
        if (ret > 0)                                                    \
                ret = -EINVAL;                                          \
        return ret;                                                     \
-}
+}                                                                      \
+EXPORT_SYMBOL_GPL(pci_user_read_config_##size);
 
 /* Returns 0 on success, negative values indicate error. */
 #define PCI_USER_WRITE_CONFIG(size,type)                               \
@@ -181,7 +182,8 @@ int pci_user_write_config_##size                                    \
        if (ret > 0)                                                    \
                ret = -EINVAL;                                          \
        return ret;                                                     \
-}
+}                                                                      \
+EXPORT_SYMBOL_GPL(pci_user_write_config_##size);
 
 PCI_USER_READ_CONFIG(byte, u8)
 PCI_USER_READ_CONFIG(word, u16)
index e4943479b234d1f4ff6fc5121a28dbb322fa2ba6..f2dcc46bdece03c96f5f9afcea3e2d04d6ef423b 100644 (file)
@@ -86,13 +86,6 @@ static inline bool pci_is_bridge(struct pci_dev *pci_dev)
        return !!(pci_dev->subordinate);
 }
 
-extern int pci_user_read_config_byte(struct pci_dev *dev, int where, u8 *val);
-extern int pci_user_read_config_word(struct pci_dev *dev, int where, u16 *val);
-extern int pci_user_read_config_dword(struct pci_dev *dev, int where, u32 *val);
-extern int pci_user_write_config_byte(struct pci_dev *dev, int where, u8 val);
-extern int pci_user_write_config_word(struct pci_dev *dev, int where, u16 val);
-extern int pci_user_write_config_dword(struct pci_dev *dev, int where, u32 val);
-
 struct pci_vpd_ops {
        ssize_t (*read)(struct pci_dev *dev, loff_t pos, size_t count, void *buf);
        ssize_t (*write)(struct pci_dev *dev, loff_t pos, size_t count, const void *buf);
index dd7af0f37b3a76a5919e93f9e3d13707752c287a..9d04599c6bd9cd8a991b8487b00d5af172d8a5cb 100644 (file)
@@ -777,6 +777,14 @@ static inline int pci_write_config_dword(const struct pci_dev *dev, int where,
        return pci_bus_write_config_dword(dev->bus, dev->devfn, where, val);
 }
 
+/* user-space driven config access */
+int pci_user_read_config_byte(struct pci_dev *dev, int where, u8 *val);
+int pci_user_read_config_word(struct pci_dev *dev, int where, u16 *val);
+int pci_user_read_config_dword(struct pci_dev *dev, int where, u32 *val);
+int pci_user_write_config_byte(struct pci_dev *dev, int where, u8 val);
+int pci_user_write_config_word(struct pci_dev *dev, int where, u16 val);
+int pci_user_write_config_dword(struct pci_dev *dev, int where, u32 val);
+
 int __must_check pci_enable_device(struct pci_dev *dev);
 int __must_check pci_enable_device_io(struct pci_dev *dev);
 int __must_check pci_enable_device_mem(struct pci_dev *dev);