Merge branch 'remotes/lorenzo/pci/hyper-v'
[platform/kernel/linux-rpi.git] / include / linux / pci.h
index bd310ea..3edbd75 100644 (file)
@@ -294,18 +294,6 @@ enum pci_bus_speed {
 enum pci_bus_speed pcie_get_speed_cap(struct pci_dev *dev);
 enum pcie_link_width pcie_get_width_cap(struct pci_dev *dev);
 
-struct pci_cap_saved_data {
-       u16             cap_nr;
-       bool            cap_extended;
-       unsigned int    size;
-       u32             data[];
-};
-
-struct pci_cap_saved_state {
-       struct hlist_node               next;
-       struct pci_cap_saved_data       cap;
-};
-
 struct pci_vpd {
        struct mutex    lock;
        unsigned int    len;
@@ -541,6 +529,16 @@ static inline int pci_channel_offline(struct pci_dev *pdev)
        return (pdev->error_state != pci_channel_io_normal);
 }
 
+/*
+ * Currently in ACPI spec, for each PCI host bridge, PCI Segment
+ * Group number is limited to a 16-bit value, therefore (int)-1 is
+ * not a valid PCI domain number, and can be used as a sentinel
+ * value indicating ->domain_nr is not set by the driver (and
+ * CONFIG_PCI_DOMAINS_GENERIC=y archs will set it with
+ * pci_bus_find_domain_nr()).
+ */
+#define PCI_DOMAIN_NR_NOT_SET (-1)
+
 struct pci_host_bridge {
        struct device   dev;
        struct pci_bus  *bus;           /* Root bus */
@@ -548,6 +546,7 @@ struct pci_host_bridge {
        struct pci_ops  *child_ops;
        void            *sysdata;
        int             busnr;
+       int             domain_nr;
        struct list_head windows;       /* resource_entry */
        struct list_head dma_ranges;    /* dma ranges resource list */
        u8 (*swizzle_irq)(struct pci_dev *, u8 *); /* Platform IRQ swizzler */
@@ -1293,12 +1292,6 @@ int pci_load_saved_state(struct pci_dev *dev,
                         struct pci_saved_state *state);
 int pci_load_and_free_saved_state(struct pci_dev *dev,
                                  struct pci_saved_state **state);
-struct pci_cap_saved_state *pci_find_saved_cap(struct pci_dev *dev, char cap);
-struct pci_cap_saved_state *pci_find_saved_ext_cap(struct pci_dev *dev,
-                                                  u16 cap);
-int pci_add_cap_save_buffer(struct pci_dev *dev, char cap, unsigned int size);
-int pci_add_ext_cap_save_buffer(struct pci_dev *dev,
-                               u16 cap, unsigned int size);
 int pci_platform_power_transition(struct pci_dev *dev, pci_power_t state);
 int pci_set_power_state(struct pci_dev *dev, pci_power_t state);
 pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state);
@@ -1755,8 +1748,9 @@ static inline void pci_disable_device(struct pci_dev *dev) { }
 static inline int pcim_enable_device(struct pci_dev *pdev) { return -EIO; }
 static inline int pci_assign_resource(struct pci_dev *dev, int i)
 { return -EBUSY; }
-static inline int __pci_register_driver(struct pci_driver *drv,
-                                       struct module *owner)
+static inline int __must_check __pci_register_driver(struct pci_driver *drv,
+                                                    struct module *owner,
+                                                    const char *mod_name)
 { return 0; }
 static inline int pci_register_driver(struct pci_driver *drv)
 { return 0; }