kernel-ark/include/asm-sh
Greg Kroah-Hartman 1ba6ab11d8 PCI: remove initial bios sort of PCI devices on x86
We currently keep 2 lists of PCI devices in the system, one in the
driver core, and one all on its own.  This second list is sorted at boot
time, in "BIOS" order, to try to remain compatible with older kernels
(2.2 and earlier days).  There was also a "nosort" option to turn this
sorting off, to remain compatible with even older kernel versions, but
that just ends up being what we have been doing from 2.5 days...

Unfortunately, the second list of devices is not really ever used to 
determine the probing order of PCI devices or drivers[1].  That is done
using the driver core list instead.  This change happened back in the
early 2.5 days.

Relying on BIOS ording for the binding of drivers to specific device
names is problematic for many reasons, and userspace tools like udev
exist to properly name devices in a persistant manner if that is needed,
no reliance on the BIOS is needed.

Matt Domsch and others at Dell noticed this back in 2006, and added a
boot option to sort the PCI device lists (both of them) in a
breadth-first manner to help remain compatible with the 2.4 order, if
needed for any reason.  This option is not going away, as some systems
rely on them.

This patch removes the sorting of the internal PCI device list in "BIOS"
mode, as it's not needed at all anymore, and hasn't for many years.
I've also removed the PCI flags for this from some other arches that for
some reason defined them, but never used them.

This should not change the ordering of any drivers or device probing.

[1] The old-style pci_get_device and pci_find_device() still used this
sorting order, but there are very few drivers that use these functions,
as they are deprecated for use in this manner.  If for some reason, a
driver rely on the order and uses these functions, the breadth-first
boot option will resolve any problem.

Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-20 21:46:58 -07:00
..
cpu-sh2
cpu-sh2a
cpu-sh3 sh: Rename SH-3 CCR3 reg to avoid synclink_cs clash. 2008-02-25 18:49:44 +09:00
cpu-sh4 sh: add support for sh7366 processor 2008-02-14 14:22:10 +09:00
cpu-sh5 sh: Kill off more dead symbols. 2008-02-14 14:22:12 +09:00
dreamcast
hd64465
landisk
mpc1211 PCI: remove initial bios sort of PCI devices on x86 2008-04-20 21:46:58 -07:00
sh03
.gitignore
a.out.h
adc.h
addrspace.h
atomic-grb.h
atomic-irq.h
atomic-llsc.h
atomic.h
auxvec.h
bitops-grb.h
bitops-irq.h
bitops.h
bug.h
bugs.h sh: Handle SH7366 CPU in check_bugs(). 2008-02-14 14:22:10 +09:00
byteorder.h sh: Fix more user header breakage from sh64 integration. 2008-03-14 17:21:09 +09:00
cache.h
cacheflush.h
checksum_32.h
checksum_64.h
checksum.h
clock.h
cmpxchg-grb.h
cmpxchg-irq.h
cpu-features.h
cputime.h
current.h
delay.h sh: Fix up the sh64 build. 2008-03-06 17:23:15 +09:00
device.h
div64.h
dma-mapping.h
dma.h
dmabrg.h
edosk7705.h
elf.h
emergency-restart.h
entry-macros.S sh: Fix up HAS_SR_RB typo in entry-macros. 2008-02-26 14:28:48 +09:00
errno.h
fb.h
fcntl.h
fixmap.h
flat.h
fpu.h sh: Fix TIF_USEDFPU clearing under FPU emulation. 2008-03-26 19:09:21 +09:00
freq.h
futex-irq.h
futex.h
gpio.h
hardirq.h
hd64461.h
heartbeat.h
hp6xx.h sh: Tidy include/asm-sh/hp6xx.h 2008-02-14 14:22:11 +09:00
hw_irq.h
ide.h ide: remove ide_default_io_ctl() macro 2008-04-18 00:46:34 +02:00
ilsel.h
io_generic.h
io_trapped.h sh: trapped io support V2 2008-02-14 14:22:09 +09:00
io.h sh: fix ioreadN_rep and iowriteN_rep 2008-02-14 14:25:37 +09:00
ioctl.h
ioctls.h
ipcbuf.h
irq_regs.h
irq.h sh: asm/irq.h needs asm/cpu/irq.h. 2008-02-14 14:22:12 +09:00
irqflags_32.h
irqflags_64.h
irqflags.h
Kbuild
kdebug.h
kexec.h
keyboard.h
kgdb.h
kmap_types.h
kvm.h kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
lboxre2.h
linkage.h
local.h
machvec.h
magicpanelr2.h
mc146818rtc.h
microdev.h
mman.h
mmu_context_32.h
mmu_context_64.h sh: Get SH-5 caches working again post-unification. 2008-02-14 14:22:12 +09:00
mmu_context.h
mmu.h
mmzone.h
module.h
msgbuf.h
mutex.h
namei.h
page.h sh: Get SH-5 caches working again post-unification. 2008-02-14 14:22:12 +09:00
param.h
parport.h
pci.h
percpu.h
pgalloc.h
pgtable_32.h
pgtable_64.h sh: Fix up set_fixmap_nocache() for SH-5. 2008-02-14 14:22:11 +09:00
pgtable.h
pm.h
poll.h
posix_types_32.h
posix_types_64.h
posix_types.h sh: Fix more user header breakage from sh64 integration. 2008-03-14 17:21:09 +09:00
processor_32.h sh: Fix occasional FPU register corruption under preempt. 2008-03-26 19:02:47 +09:00
processor_64.h sh: Fix occasional FPU register corruption under preempt. 2008-03-26 19:02:47 +09:00
processor.h sh: Fix occasional FPU register corruption under preempt. 2008-03-26 19:02:47 +09:00
ptrace.h
push-switch.h
r7780rp.h sh: trapped io support for highlander V2 2008-02-14 14:22:09 +09:00
resource.h
rtc.h
rts7751r2d.h sh: trapped io support for r2d V2 2008-02-14 14:22:09 +09:00
rwsem.h
scatterlist.h
sdk7780.h
se7206.h
se7343.h
se7722.h
se7751.h
se7780.h
se.h
sections.h
segment.h
semaphore.h Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sembuf.h
serial.h
setup.h
sfp-machine.h
sh_bios.h
shmbuf.h
shmin.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smc37c93x.h
smp.h
snapgear.h
socket.h
sockios.h
sparsemem.h
spi.h
spinlock_types.h
spinlock.h
stat.h
statfs.h
string_32.h
string_64.h
string.h
system_32.h sh: trapped io support V2 2008-02-14 14:22:09 +09:00
system_64.h
system.h sh: trapped io support V2 2008-02-14 14:22:09 +09:00
systemh7751.h
termbits.h
termios.h
thread_info.h
timer.h
timex.h
titan.h
tlb_64.h
tlb.h sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n. 2008-02-14 14:22:11 +09:00
tlbflush.h
topology.h
types.h
uaccess_32.h
uaccess_64.h
uaccess.h
ubc.h
ucontext.h
unaligned.h
unistd_32.h
unistd_64.h
unistd.h
user.h
vga.h
watchdog.h
xor.h