mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-11 13:04:03 +08:00
powerpc/powernv: Move controller ops from ppc_md to controller_ops
This moves the PowerNV platform to use the pci_controller_ops structure rather than ppc_md for PCI controller operations. Signed-off-by: Daniel Axtens <dja@axtens.net> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
38ae9ec40f
commit
65ebf4b637
@ -1989,6 +1989,7 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
|
||||
hose->last_busno = 0xff;
|
||||
}
|
||||
hose->private_data = phb;
|
||||
hose->controller_ops = pnv_pci_controller_ops;
|
||||
phb->hub_id = hub_id;
|
||||
phb->opal_id = phb_id;
|
||||
phb->type = ioda_type;
|
||||
@ -2102,9 +2103,9 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
|
||||
* the child P2P bridges) can form individual PE.
|
||||
*/
|
||||
ppc_md.pcibios_fixup = pnv_pci_ioda_fixup;
|
||||
ppc_md.pcibios_enable_device_hook = pnv_pci_enable_device_hook;
|
||||
ppc_md.pcibios_window_alignment = pnv_pci_window_alignment;
|
||||
ppc_md.pcibios_reset_secondary_bus = pnv_pci_reset_secondary_bus;
|
||||
pnv_pci_controller_ops.enable_device_hook = pnv_pci_enable_device_hook;
|
||||
pnv_pci_controller_ops.window_alignment = pnv_pci_window_alignment;
|
||||
pnv_pci_controller_ops.reset_secondary_bus = pnv_pci_reset_secondary_bus;
|
||||
pci_add_flags(PCI_REASSIGN_ALL_RSRC);
|
||||
|
||||
/* Reset IODA tables to a clean state */
|
||||
|
@ -133,6 +133,7 @@ static void __init pnv_pci_init_p5ioc2_phb(struct device_node *np, u64 hub_id,
|
||||
phb->hose->first_busno = 0;
|
||||
phb->hose->last_busno = 0xff;
|
||||
phb->hose->private_data = phb;
|
||||
phb->hose->controller_ops = pnv_pci_controller_ops;
|
||||
phb->hub_id = hub_id;
|
||||
phb->opal_id = phb_id;
|
||||
phb->type = PNV_PHB_P5IOC2;
|
||||
|
@ -744,7 +744,6 @@ void __init pnv_pci_init(void)
|
||||
pci_devs_phb_init();
|
||||
|
||||
/* Configure IOMMU DMA hooks */
|
||||
ppc_md.pci_dma_dev_setup = pnv_pci_dma_dev_setup;
|
||||
ppc_md.tce_build = pnv_tce_build_vm;
|
||||
ppc_md.tce_free = pnv_tce_free_vm;
|
||||
ppc_md.tce_build_rm = pnv_tce_build_rm;
|
||||
@ -760,3 +759,7 @@ void __init pnv_pci_init(void)
|
||||
}
|
||||
|
||||
machine_subsys_initcall_sync(powernv, tce_iommu_bus_notifier_init);
|
||||
|
||||
struct pci_controller_ops pnv_pci_controller_ops = {
|
||||
.dma_dev_setup = pnv_pci_dma_dev_setup,
|
||||
};
|
||||
|
@ -29,6 +29,8 @@ static inline u64 pnv_pci_dma_get_required_mask(struct pci_dev *pdev)
|
||||
}
|
||||
#endif
|
||||
|
||||
extern struct pci_controller_ops pnv_pci_controller_ops;
|
||||
|
||||
extern u32 pnv_get_supported_cpuidle_states(void);
|
||||
|
||||
extern void pnv_lpc_init(void);
|
||||
|
Loading…
Reference in New Issue
Block a user