linux/arch/powerpc/platforms/cell
Daniel Axtens 7e3d6c5a4b powerpc/cell: Move MSI-related ops to pci_controller_ops
Move the Cell platform to use the pci_controller_ops structure rather
than ppc_md for MSI related PCI controller operations.

We can be confident that the functions will be added to the platform's
ops struct before any PCI controller's ops struct is populated
because:

1) These ops are added to the struct in a subsys initcall.

We populate the ops in axon_msi_probe, which is the probe call for the
axon-msi driver. However the driver is registered in axon_msi_init,
which is a subsys initcall, so this will happen at the subsys level.

2) The controller recieves the struct later, in a device initcall.

Cell populates the controller in cell_setup_phb, which is hooked up to
ppc_md.pci_setup_phb. ppc_md.pci_setup_phb is only ever called in
of_platform.c, as part of the OpenFirmware PCI driver's probe
routine. That driver is registered in a device initcall, so it will
occur *after* the struct is properly populated.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-05-22 15:50:55 +10:00
..
spufs VFS: assorted weird filesystems: d_inode() annotations 2015-04-15 15:06:58 -04:00
axon_msi.c powerpc/cell: Move MSI-related ops to pci_controller_ops 2015-05-22 15:50:55 +10:00
cbe_powerbutton.c powerpc: Fix up modules that should be including module.h 2011-10-31 19:30:38 -04:00
cbe_regs.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cbe_thermal.c powerpc/cell: cbe_thermal.c: Cleaning up a variable is of the wrong type 2014-06-24 14:05:59 +10:00
cell.h powerpc/cell: Move controller ops from ppc_md to controller_ops 2015-04-11 20:49:17 +10:00
cpufreq_spudemand.c workqueue: make deferrable delayed_work initializer names consistent 2012-08-21 13:18:23 -07:00
interrupt.c powerpc/cell: Fix crash in iic_setup_cpu() after per_cpu changes 2015-04-10 20:02:49 +10:00
interrupt.h powerpc/cell: Rename ipi functions to match current abstractions 2011-05-26 13:38:58 +10:00
iommu.c powerpc/cell: Move controller ops from ppc_md to controller_ops 2015-04-11 20:49:17 +10:00
Kconfig powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
Makefile powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
pervasive.c powerpc: More fixes for lazy IRQ vs. idle 2012-07-10 19:16:07 +10:00
pervasive.h
pmu.c powerpc/cell: Only iterate over online nodes in cbe_init_pm_irq() 2013-04-24 14:22:30 +10:00
qpace_setup.c powerpc: Convert power off logic to pm_power_off 2014-11-03 12:12:51 +11:00
ras.c mm: fix GFP_THISNODE callers and clarify 2014-03-10 17:26:19 -07:00
ras.h
setup.c powerpc/cell: Fix iommu breakage caused by controller_ops change 2015-04-14 17:13:31 +10:00
smp.c powerpc: Drop return value of smp_ops->probe() 2015-04-10 20:02:49 +10:00
spider-pci.c powerpc/pci: Move IO workarounds to the common kernel dir 2011-04-27 14:18:29 +10:00
spider-pic.c of/irq: Use irq_of_parse_and_map() 2013-10-24 11:50:35 +01:00
spu_base.c powerpc/mm: don't do tlbie for updatepp request with NO HPTE fault 2014-12-05 16:26:15 +11:00
spu_callbacks.c powerpc: Add a proper syscall for switching endianness 2015-03-28 22:03:40 +11:00
spu_manage.c of/irq: simplify args to irq_create_of_mapping 2013-10-24 11:42:57 +01:00
spu_notify.c powerpc: fix implicit notifier use in converting to export.h 2011-10-31 19:30:41 -04:00
spu_priv1_mmio.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
spu_priv1_mmio.h
spu_syscalls.c powerpc/cell: Fix compilation with CONFIG_COREDUMP=n 2014-07-11 12:55:05 +10:00