linux/arch/powerpc/kernel
Gavin Shan eb740b5f3e powerpc/eeh: Introduce EEH device
Original EEH implementation depends on struct pci_dn heavily. However,
EEH shouldn't depend on that actually because EEH needn't share much
information with other PCI components. That's to say, EEH should have
worked independently.

The patch introduces struct eeh_dev so that EEH core components needn't
be working based on struct pci_dn in future. Also, struct pci_dn, struct
eeh_dev instances are created in dynamic fasion and the binding with EEH
device, OF node, PCI device is implemented as well.

The EEH devices are created after PHBs are detected and initialized, but
PCI emunation hasn't started yet. Apart from that, PHB might be created
dynamically through DLPAR component and the EEH devices should be creatd
as well. Another case might be OF node is created dynamically by DR
(Dynamic Reconfiguration), which has been defined by PAPR. For those OF
nodes created by DR, EEH devices should be also created accordingly. The
binding between EEH device and OF node is done while the EEH device is
initially created.

The binding between EEH device and PCI device should be done after PCI
emunation is done. Besides, PCI hotplug also needs the binding so that
the EEH devices could be traced from the newly coming PCI buses or PCI
devices.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-03-09 11:39:29 +11:00
..
vdso32
vdso64
.gitignore
align.c
asm-offsets.c powerpc: Provide a way for KVM to indicate that NV GPR values are lost 2011-12-08 14:22:53 +11:00
audit.c
btext.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cacheinfo.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
cacheinfo.h
clock.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_a2.S powerpc/book3e: Add ICSWX/ACOP support to Book3e cores like A2 2011-11-25 14:11:28 +11:00
cpu_setup_fsl_booke.S powerpc/e5500: set non-base IVORs 2011-05-19 00:36:43 -05:00
cpu_setup_pa6t.S
cpu_setup_power7.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cpu_setup_ppc970.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cputable.c powerpc/476fpe: Add 476fpe SoC code 2011-12-09 07:51:02 -05:00
crash_dump.c powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
crash.c powerpc/crash: Fix build error without SMP 2012-01-25 09:47:45 +11:00
dbell.c powerpc: Consolidate ipi message mux and demux 2011-05-19 15:31:03 +10:00
dma-iommu.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
dma-swiotlb.c powerpc: Use the newly added get_required_mask dma_map_ops hook 2011-09-20 09:19:35 +10:00
dma.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
entry_32.S powerpc: Fix various issues with return to userspace 2012-02-22 16:48:53 +11:00
entry_64.S powerpc: Fix various issues with return to userspace 2012-02-22 16:48:53 +11:00
exceptions-64e.S powerpc/book3e-64: Reraise doorbell when masked by soft-irq-disable 2011-06-29 16:40:59 +10:00
exceptions-64s.S powerpc: Fix program check handling when lockdep is enabled 2012-02-22 16:48:49 +11:00
fadump.c fadump: Invalidate registration and release reserved memory for general use. 2012-02-23 10:50:02 +11:00
firmware.c powerpc: fix implicit use of cache.h in kernel/firmware.c 2011-10-31 19:30:41 -04:00
fpu.S
fsl_booke_entry_mapping.S
ftrace.c powerpc/ftrace: Implement raw syscall tracepoints on PowerPC 2011-05-26 13:38:57 +10:00
head_8xx.S powerpc/32: Pass device tree address as u64 to machine_init 2011-09-20 09:19:47 +10:00
head_32.S powerpc/32: Pass device tree address as u64 to machine_init 2011-09-20 09:19:47 +10:00
head_40x.S powerpc/32: Pass device tree address as u64 to machine_init 2011-09-20 09:19:47 +10:00
head_44x.S powerpc/44x: Enable CONFIG_RELOCATABLE for PPC44x 2011-12-20 10:21:57 -05:00
head_64.S powerpc/powernv: Support for OPAL console 2011-09-20 16:09:54 +10:00
head_booke.h powerpc/85xx: Save scratch registers to thread info instead of using SPRGs. 2011-06-22 21:44:55 -05:00
head_fsl_booke.S powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
hw_breakpoint.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
ibmebus.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
idle_6xx.S
idle_book3e.S
idle_e500.S powerpc: e500mc: Fix: use CONFIG_PPC_E500MC in idle_e500.S 2011-10-11 23:23:24 -05:00
idle_power4.S powerpc/pmac/smp: Properly NAP offlined CPU on G5 2011-04-01 15:37:25 +11:00
idle_power7.S powerpc: Provide a way for KVM to indicate that NV GPR values are lost 2011-12-08 14:22:53 +11:00
idle.c powerpc: Fix RCU idle and hcall tracing 2012-01-11 11:54:20 +11:00
init_task.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
io-workarounds.c powerpc: io-workarounds.c was implicitly getting init_mm 2011-10-31 19:30:37 -04:00
io.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
iomap.c powerpc: switch to GENERIC_PCI_IOMAP 2011-11-28 21:13:18 +02:00
iommu.c fadump: Register for firmware assisted dump. 2012-02-23 10:50:01 +11:00
irq.c powerpc: Make SPARSE_IRQ required 2012-03-07 17:09:04 +11:00
isa-bridge.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
jump_label.c powerpc: Fix build breakage in jump_label.c 2011-11-16 14:25:19 +11:00
kgdb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-05-23 09:12:26 -07:00
kprobes.c
kvm_emul.S
kvm.c powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
l2cr_6xx.S
legacy_serial.c powerpc: Fix build on some non-freescale platforms 2012-01-25 13:33:22 +11:00
lparcfg.c switch procfs to umode_t use 2012-01-03 22:54:56 -05:00
machine_kexec_32.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec_64.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-01-06 17:58:22 -08:00
Makefile powerpc/perf: Move perf core & PMU code into a subdirectory 2012-02-23 10:50:04 +11:00
misc_32.S powerpc/4xx: Fix typos in kexec config dependencies 2011-11-16 14:47:54 +11:00
misc_64.S powerpc/maple: Enable scom access functions on Maple 2011-06-29 17:48:20 +10:00
misc.S
module_32.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
module_64.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
module.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
msi.c
nvram_64.c
of_platform.c powerpc/eeh: Introduce EEH device 2012-03-09 11:39:29 +11:00
paca.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
pci_32.c powerpc: include export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:38 -04:00
pci_64.c powerpc/PCI: split PHB part out of pcibios_map_io_space() 2012-01-06 12:11:08 -08:00
pci_dn.c powerpc/powernv: PCI support for p7IOC under OPAL v2 2011-11-25 14:53:15 +11:00
pci_of_scan.c powerpc: add export.h to files making use of EXPORT_SYMBOL 2011-10-31 19:30:37 -04:00
pci-common.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-01-11 18:50:26 -08:00
pmc.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
ppc32.h
ppc_ksyms.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
ppc_save_regs.S
proc_powerpc.c
process.c powerpc: Fix kernel log of oops/panic instruction dump 2012-02-16 16:11:23 +11:00
prom_init_check.sh powerpc/powernv: Get kernel command line accross OPAL takeover 2011-09-20 16:09:48 +10:00
prom_init.c powerpc/prom: Remove limit on maximum size of properties 2012-03-07 17:06:10 +11:00
prom_parse.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
prom.c fadump: Remove the phyp assisted dump code. 2012-02-23 10:50:03 +11:00
ptrace32.c
ptrace.c audit: inline audit_syscall_entry to reduce burden on archs 2012-01-17 16:16:56 -05:00
reloc_32.S powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00
reloc_64.S
rtas_flash.c powerpc/pseries: Cancel RTAS event scan before firmware flash 2011-11-25 14:11:29 +11:00
rtas_pci.c powerpc/eeh: Introduce EEH device 2012-03-09 11:39:29 +11:00
rtas-proc.c
rtas-rtc.c powerpc/rtas-rtc: remove sideeffects of printk_ratelimit 2011-06-29 15:30:43 +10:00
rtas.c powerpc/pseries: Fix partition migration hang in stop_topology_update 2012-02-14 15:01:39 +11:00
rtasd.c powerpc/pseries: Cancel RTAS event scan before firmware flash 2011-11-25 14:11:29 +11:00
setup_32.c powerpc: Copy down exception vectors after feature fixups 2011-11-16 14:47:54 +11:00
setup_64.c powerpc: Add gpages reservation code for 64-bit FSL BOOKE 2011-12-07 16:26:23 +11:00
setup-common.c fadump: Invalidate the fadump registration during machine shutdown. 2012-02-23 10:50:03 +11:00
setup.h
signal_32.c powerpc: Use set_current_blocked() and block_sigmask() 2012-03-07 17:06:09 +11:00
signal_64.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
signal.c powerpc: Use set_current_blocked() and block_sigmask() 2012-03-07 17:06:09 +11:00
signal.h powerpc: Fix various issues with return to userspace 2012-02-22 16:48:53 +11:00
smp-tbsync.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp.c Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
softemu8xx.c
stacktrace.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
suspend.c
swsusp_32.S
swsusp_64.c powerpc: Fix up implicit sched.h users 2011-10-31 19:30:40 -04:00
swsusp_asm64.S
swsusp_booke.S
swsusp.c powerpc/mm: Fix the call trace when resumed from hibernation 2011-09-20 09:19:58 +10:00
sys_ppc32.c
syscalls.c
sysfs.c Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2012-01-07 12:03:30 -08:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c powerpc: Fix wrong divisor in usecs_to_cputime 2011-12-19 14:41:20 +11:00
traps.c fadump: Convert firmware-assisted cpu state dump data into elf notes. 2012-02-23 10:50:01 +11:00
udbg_16550.c powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
udbg.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-11-06 17:12:03 -08:00
vdso.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
vecemu.c
vector.S powerpc: Remove static branch hint in giveup_altivec 2011-05-19 14:30:42 +10:00
vio.c powerpc: clean up vio.c 2012-03-09 10:35:23 +11:00
vmlinux.lds.S powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00