aha/arch/sparc/kernel
David S. Miller 956d039a25 sparc: Fix bus type probing for ESP and LE devices.
If there is a dummy "espdma" or "ledma" parent device above ESP scsi
or LE ethernet device nodes, we have to match the bus as SBUS.

Otherwise the address and size cell counts are wrong and we don't
calculate the final physical device resource values correctly at all.

Commit 5280267c1d ("sparc: Fix handling
of LANCE and ESP parent nodes in of_device.c") was meant to fix this
problem, but that only influences the inner loop of
build_device_resources().  We need this logic to also kick in at the
beginning of build_device_resources() as well, when we make the first
attempt to determine the device's immediate parent bus type for 'reg'
property element extraction.

Based almost entirely upon a patch by Friedrich Oslage.

Tested-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-04-22 03:46:14 -07:00
..
.gitignore sparc: gitignore a few files 2008-12-04 09:17:15 -08:00
apc.c sparc: correct section of apc_no_idle 2008-10-22 21:53:43 -07:00
asm-offsets.c sparc,sparc64: unify asm-offsets.c 2008-12-04 09:17:12 -08:00
audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
auxio_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
auxio_64.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
central.c sparc64: Initialize FHC/CLOCK LED platform_device 'id' field correctly. 2009-01-19 13:27:15 -08:00
cherrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
chmc.c sparc64: Fix crashes in jbusmc_print_dimm() 2009-02-11 00:54:07 -08:00
compat_audit.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
cpu.c sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
devices.c sparc: drop CONFIG_SUN_AUXIO 2008-12-04 13:26:31 -08:00
dma.c sparc32: Implement more generic dma_*() interfaces. 2008-08-29 02:13:14 -07:00
dma.h sparc32: Implement more generic dma_*() interfaces. 2008-08-29 02:13:14 -07:00
ds.c cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64 2009-03-16 14:40:23 +10:30
dtlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
dtlb_prot.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ebus.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
entry.h sparc: fix sparse warnings in irq_32.c 2008-12-08 01:08:24 -08:00
entry.S [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
etrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
etrap_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
fpu_traps.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ftrace.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
getsetcc.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
head_32.S sparc: unify sections.h 2008-12-27 00:35:12 -08:00
head_64.S trivial: Fix misspelling of firmware 2009-03-30 15:21:59 +02:00
helpers.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvapi.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvcalls.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
hvtramp.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
idprom.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
iommu.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
iommu_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ioport.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
irq.h sparc32: Kill clear_profile_irq btfixup entry. 2008-09-19 21:17:59 -07:00
irq_32.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
irq_64.c Merge branch 'master' of ssh://master.kernel.org/home/ftp/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask-for-sparc 2009-03-29 15:44:22 -07:00
itlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
kernel.h sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
kgdb_32.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
kgdb_64.c sparc64: Reschedule KGDB capture to a software interrupt. 2009-03-18 23:51:57 -07:00
kprobes.c trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
kstack.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ktlb.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ldc.c sparc: remove some pointless conditionals before kfree() 2009-04-15 03:04:56 -07:00
led.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
Makefile sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
mdesc.c cpumask: Use accessors code.: sparc64 2009-03-16 14:40:23 +10:30
misctrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
module.c sparc: unify module.c 2008-12-26 15:38:17 -08:00
muldiv.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
nmi.c sparc64: Fix reset hangs on Niagara systems. 2009-03-29 15:40:33 -07:00
of_device_32.c sparc: Fix bus type probing for ESP and LE devices. 2009-04-22 03:46:14 -07:00
of_device_64.c sparc: Fix bus type probing for ESP and LE devices. 2009-04-22 03:46:14 -07:00
pci.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
pci_common.c sparc64: Fix crash with /proc/iomem 2009-03-18 23:53:16 -07:00
pci_fire.c sparc64: Fix section mismatch warnings in PCI controller drivers. 2009-04-08 03:28:15 -07:00
pci_impl.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_msi.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci_psycho.c sparc64: Fix section mismatch warnings in PCI controller drivers. 2009-04-08 03:28:15 -07:00
pci_sabre.c sparc64: Fix section mismatch warnings in PCI controller drivers. 2009-04-08 03:28:15 -07:00
pci_schizo.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
pci_sun4v.c sparc64: Fix section mismatch warnings in PCI controller drivers. 2009-04-08 03:28:15 -07:00
pci_sun4v.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pci_sun4v_asm.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
pcic.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
pcr.c sparc64: Don't hook up pcr_ops on spitfire chips. 2009-02-05 23:59:04 -08:00
pmc.c sparc: fix trivial style issues in kernel/pmc.c 2008-12-08 01:02:55 -08:00
power.c sparc64: Fix section mismatch warnings in power driver. 2009-04-08 03:27:52 -07:00
process_32.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
process_64.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
prom.h sparc: Restore irq_trans_init() call in prom_create_node(). 2008-12-07 00:46:33 -08:00
prom_32.c sparc: Restore irq_trans_init() call in prom_create_node(). 2008-12-07 00:46:33 -08:00
prom_64.c cpumask: Use accessors code.: sparc64 2009-03-16 14:40:23 +10:30
prom_common.c sparc: Clean arch-specific code in prom_common.c 2009-01-05 00:07:18 -08:00
prom_irqtrans.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
psycho_common.c sparc64: fix warnings in psycho_common after ull conversion 2009-01-08 11:37:19 -08:00
psycho_common.h sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ptrace_32.c sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
ptrace_64.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
reboot.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
rtrap_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
rtrap_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sbus.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
setup_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
setup_64.c sparc: Probe PMU type and record in sparc_pmu_type. 2009-01-28 17:27:14 -08:00
signal32.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
signal_32.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
signal_64.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
smp_32.c cpumask: use mm_cpumask() wrapper: sparc 2009-03-16 14:40:39 +10:30
smp_64.c sparc64: Fix smp_callin() locking. 2009-04-14 17:08:56 -07:00
sparc_ksyms_32.c sparc: Eliminate PROMLIB_INTERNAL as it does nothing 2009-01-08 16:59:01 -08:00
sparc_ksyms_64.c sparc64: Fix UP build failure. 2009-01-13 17:38:24 -08:00
spiterrs.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sstate.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
stacktrace.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
starfire.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4c_irq.c sparc: Add missing of_node_put 2008-12-04 09:17:22 -08:00
sun4d_irq.c cpumask: remove references to struct irqaction's mask field. 2009-03-30 22:05:14 +10:30
sun4d_smp.c cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc 2009-03-16 14:40:24 +10:30
sun4m_irq.c sparc: Add missing of_node_put 2008-12-04 09:17:22 -08:00
sun4m_smp.c cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc 2009-03-16 14:40:24 +10:30
sun4v_ivec.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sun4v_tlb_miss.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys32.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys_sparc32.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
sys_sparc_32.c sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
sys_sparc_64.c sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
syscalls.S sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
sysfs.c sparc: fix hardirq.h removal fallout 2008-12-26 15:33:07 -08:00
systbls.h sparc64: Annotate sparc64 specific syscalls with SYSCALL_DEFINEx() 2009-01-19 21:11:27 -08:00
systbls_32.S sparc: Hook up sys_preadv and sys_pwritev 2009-04-08 03:55:30 -07:00
systbls_64.S sparc: Hook up sys_preadv and sys_pwritev 2009-04-08 03:55:30 -07:00
tadpole.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tick14.c sparc32: Delete claim_ticker14(). 2008-09-19 21:18:01 -07:00
time_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
time_64.c Merge branch 'linus' into percpu-cpumask-x86-for-linus-2 2009-03-28 04:26:01 +01:00
trampoline_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
trampoline_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
traps_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
traps_64.c sparc64: Fix DAX handling via userspace access from kernel. 2009-01-19 22:44:04 -08:00
tsb.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
ttable.S sparc64: Reschedule KGDB capture to a software interrupt. 2009-03-18 23:51:57 -07:00
una_asm_32.S sparc: prepare kernel/ for unification 2008-12-04 09:17:20 -08:00
una_asm_64.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
unaligned_32.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
unaligned_64.c sparc: Most unaligned_64.c tweaks for branch tracer warnings. 2009-01-08 16:52:36 -08:00
us2e_cpufreq.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
us3_cpufreq.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
utrap.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
vio.c sparc64: Use unsigned long long for u64. 2009-01-06 13:19:28 -08:00
viohs.c sparc64: refactor code in viohs.c 2009-01-06 12:46:46 -08:00
visemul.c sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
vmlinux.lds.S sparc: unify sections.h 2008-12-27 00:35:12 -08:00
windows.c sparc: add '32' suffix to reg_window, sigcontext, __siginfo_t 2009-01-02 19:32:59 -08:00
winfixup.S sparc,sparc64: unify kernel/ 2008-12-04 09:17:21 -08:00
wof.S sparc/kernel/: possible cleanups 2008-07-17 21:37:46 -07:00
wuf.S sparc/kernel/: possible cleanups 2008-07-17 21:37:46 -07:00