]> git.baikalelectronics.ru Git - kernel.git/commit
sparc: Fix bus type probing for ESP and LE devices.
authorDavid S. Miller <davem@davemloft.net>
Fri, 17 Apr 2009 11:14:15 +0000 (04:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Apr 2009 10:46:14 +0000 (03:46 -0700)
commit488cd8280a359e0af46b38a9b857d82c0a0d6305
tree87b70dccdbd32e04ad552a81bb6cc9f2a975cbf8
parenteef87eda186190b6c29f219ab80459a3a5330eb6
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 b132378b7c5b26adb61de0a1cedef3d4e67358c7 ("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>
arch/sparc/kernel/of_device_32.c
arch/sparc/kernel/of_device_64.c