Commit 77dc51fd authored by Bjorn Helgaas's avatar Bjorn Helgaas

Merge branch 'pci/encapsulate'

  - Move many symbols from public linux/pci.h to subsystem-private
    drivers/pci/pci.h (Kelsey Skunberg)

  - Unexport pci_bus_get() and pci_bus_sem since they're not needed by
    modules (Kelsey Skunberg)

  - Remove unused pci_block_cfg_access() et al (Kelsey Skunberg)

* pci/encapsulate:
  PCI: Make pci_set_of_node(), etc private
  PCI: Make pci_enable_ptm() private
  PCI: Make pcie_set_ecrc_checking(), pcie_ecrc_get_policy() private
  PCI: Make pci_ats_init() private
  PCI: Make pcie_update_link_speed() private
  PCI: Make pci_bus_get(), pci_bus_put() private
  PCI: Make pci_hotplug_io_size, mem_size, and bus_size private
  PCI: Make pci_save_vc_state(), pci_restore_vc_state(), etc private
  PCI: Make pci_get_host_bridge_device(), pci_put_host_bridge_device() private
  PCI: Make pci_check_pme_status(), pci_pme_wakeup_bus() private
  PCI: Make PCI_PM_* delay times private
  PCI: Unexport pci_bus_sem
  PCI: Unexport pci_bus_get() and pci_bus_put()
  PCI: Remove pci_block_cfg_access() et al (unused)
parents 20d3618b 621f7e35
...@@ -417,11 +417,9 @@ struct pci_bus *pci_bus_get(struct pci_bus *bus) ...@@ -417,11 +417,9 @@ struct pci_bus *pci_bus_get(struct pci_bus *bus)
get_device(&bus->dev); get_device(&bus->dev);
return bus; return bus;
} }
EXPORT_SYMBOL(pci_bus_get);
void pci_bus_put(struct pci_bus *bus) void pci_bus_put(struct pci_bus *bus)
{ {
if (bus) if (bus)
put_device(&bus->dev); put_device(&bus->dev);
} }
EXPORT_SYMBOL(pci_bus_put);
...@@ -39,6 +39,11 @@ int pci_probe_reset_function(struct pci_dev *dev); ...@@ -39,6 +39,11 @@ int pci_probe_reset_function(struct pci_dev *dev);
int pci_bridge_secondary_bus_reset(struct pci_dev *dev); int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
int pci_bus_error_reset(struct pci_dev *dev); int pci_bus_error_reset(struct pci_dev *dev);
#define PCI_PM_D2_DELAY 200
#define PCI_PM_D3_WAIT 10
#define PCI_PM_D3COLD_WAIT 100
#define PCI_PM_BUS_WAIT 50
/** /**
* struct pci_platform_pm_ops - Firmware PM callbacks * struct pci_platform_pm_ops - Firmware PM callbacks
* *
...@@ -84,6 +89,8 @@ void pci_power_up(struct pci_dev *dev); ...@@ -84,6 +89,8 @@ void pci_power_up(struct pci_dev *dev);
void pci_disable_enabled_device(struct pci_dev *dev); void pci_disable_enabled_device(struct pci_dev *dev);
int pci_finish_runtime_suspend(struct pci_dev *dev); int pci_finish_runtime_suspend(struct pci_dev *dev);
void pcie_clear_root_pme_status(struct pci_dev *dev); void pcie_clear_root_pme_status(struct pci_dev *dev);
bool pci_check_pme_status(struct pci_dev *dev);
void pci_pme_wakeup_bus(struct pci_bus *bus);
int __pci_pme_wakeup(struct pci_dev *dev, void *ign); int __pci_pme_wakeup(struct pci_dev *dev, void *ign);
void pci_pme_restore(struct pci_dev *dev); void pci_pme_restore(struct pci_dev *dev);
bool pci_dev_need_resume(struct pci_dev *dev); bool pci_dev_need_resume(struct pci_dev *dev);
...@@ -123,6 +130,11 @@ void pci_vpd_release(struct pci_dev *dev); ...@@ -123,6 +130,11 @@ void pci_vpd_release(struct pci_dev *dev);
void pcie_vpd_create_sysfs_dev_files(struct pci_dev *dev); void pcie_vpd_create_sysfs_dev_files(struct pci_dev *dev);
void pcie_vpd_remove_sysfs_dev_files(struct pci_dev *dev); void pcie_vpd_remove_sysfs_dev_files(struct pci_dev *dev);
/* PCI Virtual Channel */
int pci_save_vc_state(struct pci_dev *dev);
void pci_restore_vc_state(struct pci_dev *dev);
void pci_allocate_vc_save_buffers(struct pci_dev *dev);
/* PCI /proc functions */ /* PCI /proc functions */
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
int pci_proc_attach_device(struct pci_dev *dev); int pci_proc_attach_device(struct pci_dev *dev);
...@@ -196,6 +208,9 @@ extern const struct attribute_group *pcibus_groups[]; ...@@ -196,6 +208,9 @@ extern const struct attribute_group *pcibus_groups[];
extern const struct device_type pci_dev_type; extern const struct device_type pci_dev_type;
extern const struct attribute_group *pci_bus_groups[]; extern const struct attribute_group *pci_bus_groups[];
extern unsigned long pci_hotplug_io_size;
extern unsigned long pci_hotplug_mem_size;
extern unsigned long pci_hotplug_bus_size;
/** /**
* pci_match_one_device - Tell if a PCI device structure has a matching * pci_match_one_device - Tell if a PCI device structure has a matching
...@@ -236,6 +251,9 @@ enum pci_bar_type { ...@@ -236,6 +251,9 @@ enum pci_bar_type {
pci_bar_mem64, /* A 64-bit memory BAR */ pci_bar_mem64, /* A 64-bit memory BAR */
}; };
struct device *pci_get_host_bridge_device(struct pci_dev *dev);
void pci_put_host_bridge_device(struct device *dev);
int pci_configure_extended_tags(struct pci_dev *dev, void *ign); int pci_configure_extended_tags(struct pci_dev *dev, void *ign);
bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *pl, bool pci_bus_read_dev_vendor_id(struct pci_bus *bus, int devfn, u32 *pl,
int crs_timeout); int crs_timeout);
...@@ -256,6 +274,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx); ...@@ -256,6 +274,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx);
void pci_reassigndev_resource_alignment(struct pci_dev *dev); void pci_reassigndev_resource_alignment(struct pci_dev *dev);
void pci_disable_bridge_window(struct pci_dev *dev); void pci_disable_bridge_window(struct pci_dev *dev);
struct pci_bus *pci_bus_get(struct pci_bus *bus);
void pci_bus_put(struct pci_bus *bus);
/* PCIe link information */ /* PCIe link information */
#define PCIE_SPEED2STR(speed) \ #define PCIE_SPEED2STR(speed) \
...@@ -279,6 +299,7 @@ u32 pcie_bandwidth_capable(struct pci_dev *dev, enum pci_bus_speed *speed, ...@@ -279,6 +299,7 @@ u32 pcie_bandwidth_capable(struct pci_dev *dev, enum pci_bus_speed *speed,
enum pcie_link_width *width); enum pcie_link_width *width);
void __pcie_print_link_status(struct pci_dev *dev, bool verbose); void __pcie_print_link_status(struct pci_dev *dev, bool verbose);
void pcie_report_downtraining(struct pci_dev *dev); void pcie_report_downtraining(struct pci_dev *dev);
void pcie_update_link_speed(struct pci_bus *bus, u16 link_status);
/* Single Root I/O Virtualization */ /* Single Root I/O Virtualization */
struct pci_sriov { struct pci_sriov {
...@@ -418,11 +439,12 @@ static inline void pci_restore_dpc_state(struct pci_dev *dev) {} ...@@ -418,11 +439,12 @@ static inline void pci_restore_dpc_state(struct pci_dev *dev) {}
#endif #endif
#ifdef CONFIG_PCI_ATS #ifdef CONFIG_PCI_ATS
/* Address Translation Service */
void pci_ats_init(struct pci_dev *dev);
void pci_restore_ats_state(struct pci_dev *dev); void pci_restore_ats_state(struct pci_dev *dev);
#else #else
static inline void pci_restore_ats_state(struct pci_dev *dev) static inline void pci_ats_init(struct pci_dev *d) { }
{ static inline void pci_restore_ats_state(struct pci_dev *dev) { }
}
#endif /* CONFIG_PCI_ATS */ #endif /* CONFIG_PCI_ATS */
#ifdef CONFIG_PCI_IOV #ifdef CONFIG_PCI_IOV
...@@ -519,10 +541,21 @@ static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev) { } ...@@ -519,10 +541,21 @@ static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev) { }
static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) { } static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) { }
#endif #endif
#ifdef CONFIG_PCIE_ECRC
void pcie_set_ecrc_checking(struct pci_dev *dev);
void pcie_ecrc_get_policy(char *str);
#else
static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { }
static inline void pcie_ecrc_get_policy(char *str) { }
#endif
#ifdef CONFIG_PCIE_PTM #ifdef CONFIG_PCIE_PTM
void pci_ptm_init(struct pci_dev *dev); void pci_ptm_init(struct pci_dev *dev);
int pci_enable_ptm(struct pci_dev *dev, u8 *granularity);
#else #else
static inline void pci_ptm_init(struct pci_dev *dev) { } static inline void pci_ptm_init(struct pci_dev *dev) { }
static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity)
{ return -EINVAL; }
#endif #endif
struct pci_dev_reset_methods { struct pci_dev_reset_methods {
...@@ -559,6 +592,10 @@ struct device_node; ...@@ -559,6 +592,10 @@ struct device_node;
int of_pci_parse_bus_range(struct device_node *node, struct resource *res); int of_pci_parse_bus_range(struct device_node *node, struct resource *res);
int of_get_pci_domain_nr(struct device_node *node); int of_get_pci_domain_nr(struct device_node *node);
int of_pci_get_max_link_speed(struct device_node *node); int of_pci_get_max_link_speed(struct device_node *node);
void pci_set_of_node(struct pci_dev *dev);
void pci_release_of_node(struct pci_dev *dev);
void pci_set_bus_of_node(struct pci_bus *bus);
void pci_release_bus_of_node(struct pci_bus *bus);
#else #else
static inline int static inline int
...@@ -578,6 +615,11 @@ of_pci_get_max_link_speed(struct device_node *node) ...@@ -578,6 +615,11 @@ of_pci_get_max_link_speed(struct device_node *node)
{ {
return -EINVAL; return -EINVAL;
} }
static inline void pci_set_of_node(struct pci_dev *dev) { }
static inline void pci_release_of_node(struct pci_dev *dev) { }
static inline void pci_set_bus_of_node(struct pci_bus *bus) { }
static inline void pci_release_bus_of_node(struct pci_bus *bus) { }
#endif /* CONFIG_OF */ #endif /* CONFIG_OF */
#if defined(CONFIG_OF_ADDRESS) #if defined(CONFIG_OF_ADDRESS)
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include "pci.h" #include "pci.h"
DECLARE_RWSEM(pci_bus_sem); DECLARE_RWSEM(pci_bus_sem);
EXPORT_SYMBOL_GPL(pci_bus_sem);
/* /*
* pci_for_each_dma_alias - Iterate over DMA aliases for a device * pci_for_each_dma_alias - Iterate over DMA aliases for a device
......
...@@ -151,11 +151,6 @@ static inline const char *pci_power_name(pci_power_t state) ...@@ -151,11 +151,6 @@ static inline const char *pci_power_name(pci_power_t state)
return pci_power_names[1 + (__force int) state]; return pci_power_names[1 + (__force int) state];
} }
#define PCI_PM_D2_DELAY 200
#define PCI_PM_D3_WAIT 10
#define PCI_PM_D3COLD_WAIT 100
#define PCI_PM_BUS_WAIT 50
/** /**
* typedef pci_channel_state_t * typedef pci_channel_state_t
* *
...@@ -655,9 +650,6 @@ static inline struct pci_dev *pci_upstream_bridge(struct pci_dev *dev) ...@@ -655,9 +650,6 @@ static inline struct pci_dev *pci_upstream_bridge(struct pci_dev *dev)
return dev->bus->self; return dev->bus->self;
} }
struct device *pci_get_host_bridge_device(struct pci_dev *dev);
void pci_put_host_bridge_device(struct device *dev);
#ifdef CONFIG_PCI_MSI #ifdef CONFIG_PCI_MSI
static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev) static inline bool pci_dev_msi_enabled(struct pci_dev *pci_dev)
{ {
...@@ -1001,7 +993,6 @@ struct pci_bus *pci_scan_root_bus(struct device *parent, int bus, ...@@ -1001,7 +993,6 @@ struct pci_bus *pci_scan_root_bus(struct device *parent, int bus,
int pci_scan_root_bus_bridge(struct pci_host_bridge *bridge); int pci_scan_root_bus_bridge(struct pci_host_bridge *bridge);
struct pci_bus *pci_add_new_bus(struct pci_bus *parent, struct pci_dev *dev, struct pci_bus *pci_add_new_bus(struct pci_bus *parent, struct pci_dev *dev,
int busnr); int busnr);
void pcie_update_link_speed(struct pci_bus *bus, u16 link_status);
struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr, struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr,
const char *name, const char *name,
struct hotplug_slot *hotplug); struct hotplug_slot *hotplug);
...@@ -1247,19 +1238,12 @@ int pci_wake_from_d3(struct pci_dev *dev, bool enable); ...@@ -1247,19 +1238,12 @@ int pci_wake_from_d3(struct pci_dev *dev, bool enable);
int pci_prepare_to_sleep(struct pci_dev *dev); int pci_prepare_to_sleep(struct pci_dev *dev);
int pci_back_from_sleep(struct pci_dev *dev); int pci_back_from_sleep(struct pci_dev *dev);
bool pci_dev_run_wake(struct pci_dev *dev); bool pci_dev_run_wake(struct pci_dev *dev);
bool pci_check_pme_status(struct pci_dev *dev);
void pci_pme_wakeup_bus(struct pci_bus *bus);
void pci_d3cold_enable(struct pci_dev *dev); void pci_d3cold_enable(struct pci_dev *dev);
void pci_d3cold_disable(struct pci_dev *dev); void pci_d3cold_disable(struct pci_dev *dev);
bool pcie_relaxed_ordering_enabled(struct pci_dev *dev); bool pcie_relaxed_ordering_enabled(struct pci_dev *dev);
void pci_wakeup_bus(struct pci_bus *bus); void pci_wakeup_bus(struct pci_bus *bus);
void pci_bus_set_current_state(struct pci_bus *bus, pci_power_t state); void pci_bus_set_current_state(struct pci_bus *bus, pci_power_t state);
/* PCI Virtual Channel */
int pci_save_vc_state(struct pci_dev *dev);
void pci_restore_vc_state(struct pci_dev *dev);
void pci_allocate_vc_save_buffers(struct pci_dev *dev);
/* For use by arch with custom probe code */ /* For use by arch with custom probe code */
void set_pcie_port_type(struct pci_dev *pdev); void set_pcie_port_type(struct pci_dev *pdev);
void set_pcie_hotplug_bridge(struct pci_dev *pdev); void set_pcie_hotplug_bridge(struct pci_dev *pdev);
...@@ -1303,8 +1287,6 @@ int pci_request_selected_regions_exclusive(struct pci_dev *, int, const char *); ...@@ -1303,8 +1287,6 @@ int pci_request_selected_regions_exclusive(struct pci_dev *, int, const char *);
void pci_release_selected_regions(struct pci_dev *, int); void pci_release_selected_regions(struct pci_dev *, int);
/* drivers/pci/bus.c */ /* drivers/pci/bus.c */
struct pci_bus *pci_bus_get(struct pci_bus *bus);
void pci_bus_put(struct pci_bus *bus);
void pci_add_resource(struct list_head *resources, struct resource *res); void pci_add_resource(struct list_head *resources, struct resource *res);
void pci_add_resource_offset(struct list_head *resources, struct resource *res, void pci_add_resource_offset(struct list_head *resources, struct resource *res,
resource_size_t offset); resource_size_t offset);
...@@ -1595,23 +1577,8 @@ bool pci_aer_available(void); ...@@ -1595,23 +1577,8 @@ bool pci_aer_available(void);
static inline bool pci_aer_available(void) { return false; } static inline bool pci_aer_available(void) { return false; }
#endif #endif
#ifdef CONFIG_PCIE_ECRC
void pcie_set_ecrc_checking(struct pci_dev *dev);
void pcie_ecrc_get_policy(char *str);
#else
static inline void pcie_set_ecrc_checking(struct pci_dev *dev) { }
static inline void pcie_ecrc_get_policy(char *str) { }
#endif
bool pci_ats_disabled(void); bool pci_ats_disabled(void);
#ifdef CONFIG_PCIE_PTM
int pci_enable_ptm(struct pci_dev *dev, u8 *granularity);
#else
static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity)
{ return -EINVAL; }
#endif
void pci_cfg_access_lock(struct pci_dev *dev); void pci_cfg_access_lock(struct pci_dev *dev);
bool pci_cfg_access_trylock(struct pci_dev *dev); bool pci_cfg_access_trylock(struct pci_dev *dev);
void pci_cfg_access_unlock(struct pci_dev *dev); void pci_cfg_access_unlock(struct pci_dev *dev);
...@@ -1765,11 +1732,6 @@ static inline void pci_release_regions(struct pci_dev *dev) { } ...@@ -1765,11 +1732,6 @@ static inline void pci_release_regions(struct pci_dev *dev) { }
static inline unsigned long pci_address_to_pio(phys_addr_t addr) { return -1; } static inline unsigned long pci_address_to_pio(phys_addr_t addr) { return -1; }
static inline void pci_block_cfg_access(struct pci_dev *dev) { }
static inline int pci_block_cfg_access_in_atomic(struct pci_dev *dev)
{ return 0; }
static inline void pci_unblock_cfg_access(struct pci_dev *dev) { }
static inline struct pci_bus *pci_find_next_bus(const struct pci_bus *from) static inline struct pci_bus *pci_find_next_bus(const struct pci_bus *from)
{ return NULL; } { return NULL; }
static inline struct pci_dev *pci_get_slot(struct pci_bus *bus, static inline struct pci_dev *pci_get_slot(struct pci_bus *bus,
...@@ -1802,13 +1764,11 @@ static inline bool pci_ats_disabled(void) { return true; } ...@@ -1802,13 +1764,11 @@ static inline bool pci_ats_disabled(void) { return true; }
#ifdef CONFIG_PCI_ATS #ifdef CONFIG_PCI_ATS
/* Address Translation Service */ /* Address Translation Service */
void pci_ats_init(struct pci_dev *dev);
int pci_enable_ats(struct pci_dev *dev, int ps); int pci_enable_ats(struct pci_dev *dev, int ps);
void pci_disable_ats(struct pci_dev *dev); void pci_disable_ats(struct pci_dev *dev);
int pci_ats_queue_depth(struct pci_dev *dev); int pci_ats_queue_depth(struct pci_dev *dev);
int pci_ats_page_aligned(struct pci_dev *dev); int pci_ats_page_aligned(struct pci_dev *dev);
#else #else
static inline void pci_ats_init(struct pci_dev *d) { }
static inline int pci_enable_ats(struct pci_dev *d, int ps) { return -ENODEV; } static inline int pci_enable_ats(struct pci_dev *d, int ps) { return -ENODEV; }
static inline void pci_disable_ats(struct pci_dev *d) { } static inline void pci_disable_ats(struct pci_dev *d) { }
static inline int pci_ats_queue_depth(struct pci_dev *d) { return -ENODEV; } static inline int pci_ats_queue_depth(struct pci_dev *d) { return -ENODEV; }
...@@ -2048,10 +2008,6 @@ extern unsigned long pci_cardbus_mem_size; ...@@ -2048,10 +2008,6 @@ extern unsigned long pci_cardbus_mem_size;
extern u8 pci_dfl_cache_line_size; extern u8 pci_dfl_cache_line_size;
extern u8 pci_cache_line_size; extern u8 pci_cache_line_size;
extern unsigned long pci_hotplug_io_size;
extern unsigned long pci_hotplug_mem_size;
extern unsigned long pci_hotplug_bus_size;
/* Architecture-specific versions may override these (weak) */ /* Architecture-specific versions may override these (weak) */
void pcibios_disable_device(struct pci_dev *dev); void pcibios_disable_device(struct pci_dev *dev);
void pcibios_set_master(struct pci_dev *dev); void pcibios_set_master(struct pci_dev *dev);
...@@ -2321,10 +2277,6 @@ int pci_vpd_find_info_keyword(const u8 *buf, unsigned int off, ...@@ -2321,10 +2277,6 @@ int pci_vpd_find_info_keyword(const u8 *buf, unsigned int off,
#ifdef CONFIG_OF #ifdef CONFIG_OF
struct device_node; struct device_node;
struct irq_domain; struct irq_domain;
void pci_set_of_node(struct pci_dev *dev);
void pci_release_of_node(struct pci_dev *dev);
void pci_set_bus_of_node(struct pci_bus *bus);
void pci_release_bus_of_node(struct pci_bus *bus);
struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus); struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus);
int pci_parse_request_of_pci_ranges(struct device *dev, int pci_parse_request_of_pci_ranges(struct device *dev,
struct list_head *resources, struct list_head *resources,
...@@ -2334,10 +2286,6 @@ int pci_parse_request_of_pci_ranges(struct device *dev, ...@@ -2334,10 +2286,6 @@ int pci_parse_request_of_pci_ranges(struct device *dev,
struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus); struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus);
#else /* CONFIG_OF */ #else /* CONFIG_OF */
static inline void pci_set_of_node(struct pci_dev *dev) { }
static inline void pci_release_of_node(struct pci_dev *dev) { }
static inline void pci_set_bus_of_node(struct pci_bus *bus) { }
static inline void pci_release_bus_of_node(struct pci_bus *bus) { }
static inline struct irq_domain * static inline struct irq_domain *
pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; } pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; }
static inline int pci_parse_request_of_pci_ranges(struct device *dev, static inline int pci_parse_request_of_pci_ranges(struct device *dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment