Merge branch 'pci/jiang-subdrivers' into next
* pci/jiang-subdrivers:
PCI/ACPI: Remove support of ACPI PCI subdrivers
PCI: acpiphp: Protect acpiphp data structures from concurrent updates
PCI: acpiphp: Use normal list to simplify implementation
PCI: acpiphp: Do not use ACPI PCI subdriver mechanism
PCI: acpiphp: Convert acpiphp to be builtin only, not modular
PCI/ACPI: Handle PCI slot devices when creating/destroying PCI buses
x86/PCI: Implement pcibios_{add|remove}_bus() hooks
ia64/PCI: Implement pcibios_{add|remove}_bus() hooks
PCI/ACPI: Prepare stub functions to handle ACPI PCI (hotplug) slots
PCI: Add pcibios hooks for adding and removing PCI buses
PCI: acpiphp: Replace local macros with standard ACPI macros
PCI: acpiphp: Remove all functions even if function 0 doesn't exist
PCI: acpiphp: Use list_for_each_entry_safe() in acpiphp_sanitize_bus()
PCI: Clean up usages of pci_bus->is_added
PCI: When removing bus, always remove legacy files & unregister
This commit is contained in:
@@ -152,15 +152,6 @@ void acpi_penalize_isa_irq(int irq, int active);
|
||||
|
||||
void acpi_pci_irq_disable (struct pci_dev *dev);
|
||||
|
||||
struct acpi_pci_driver {
|
||||
struct list_head node;
|
||||
int (*add)(struct acpi_pci_root *root);
|
||||
void (*remove)(struct acpi_pci_root *root);
|
||||
};
|
||||
|
||||
int acpi_pci_register_driver(struct acpi_pci_driver *driver);
|
||||
void acpi_pci_unregister_driver(struct acpi_pci_driver *driver);
|
||||
|
||||
extern int ec_read(u8 addr, u8 *val);
|
||||
extern int ec_write(u8 addr, u8 val);
|
||||
extern int ec_transaction(u8 command,
|
||||
|
||||
@@ -41,8 +41,37 @@ static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus)
|
||||
|
||||
return DEVICE_ACPI_HANDLE(dev);
|
||||
}
|
||||
|
||||
void acpi_pci_add_bus(struct pci_bus *bus);
|
||||
void acpi_pci_remove_bus(struct pci_bus *bus);
|
||||
|
||||
#ifdef CONFIG_ACPI_PCI_SLOT
|
||||
void acpi_pci_slot_init(void);
|
||||
void acpi_pci_slot_enumerate(struct pci_bus *bus, acpi_handle handle);
|
||||
void acpi_pci_slot_remove(struct pci_bus *bus);
|
||||
#else
|
||||
static inline void acpi_pci_slot_init(void) { }
|
||||
static inline void acpi_pci_slot_enumerate(struct pci_bus *bus,
|
||||
acpi_handle handle) { }
|
||||
static inline void acpi_pci_slot_remove(struct pci_bus *bus) { }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_PCI_ACPI
|
||||
void acpiphp_init(void);
|
||||
void acpiphp_enumerate_slots(struct pci_bus *bus, acpi_handle handle);
|
||||
void acpiphp_remove_slots(struct pci_bus *bus);
|
||||
#else
|
||||
static inline void acpiphp_init(void) { }
|
||||
static inline void acpiphp_enumerate_slots(struct pci_bus *bus,
|
||||
acpi_handle handle) { }
|
||||
static inline void acpiphp_remove_slots(struct pci_bus *bus) { }
|
||||
#endif
|
||||
|
||||
#else /* CONFIG_ACPI */
|
||||
static inline void acpi_pci_add_bus(struct pci_bus *bus) { }
|
||||
static inline void acpi_pci_remove_bus(struct pci_bus *bus) { }
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
#ifdef CONFIG_ACPI_APEI
|
||||
extern bool aer_acpi_firmware_first(void);
|
||||
#else
|
||||
|
||||
@@ -693,6 +693,8 @@ extern struct list_head pci_root_buses; /* list of all known PCI buses */
|
||||
extern int no_pci_devices(void);
|
||||
|
||||
void pcibios_resource_survey_bus(struct pci_bus *bus);
|
||||
void pcibios_add_bus(struct pci_bus *bus);
|
||||
void pcibios_remove_bus(struct pci_bus *bus);
|
||||
void pcibios_fixup_bus(struct pci_bus *);
|
||||
int __must_check pcibios_enable_device(struct pci_dev *, int mask);
|
||||
/* Architecture specific versions may override this (weak) */
|
||||
|
||||
Reference in New Issue
Block a user