linux/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 rtc: rtc-sh: Split out the CPU defs to asm/cpu/. 2008-01-28 13:18:58 +09:00
cpu-sh2a rtc: rtc-sh: Split out the CPU defs to asm/cpu/. 2008-01-28 13:18:58 +09:00
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 sh: Add maple bus support for the SEGA Dreamcast. 2007-09-21 15:55:55 +09:00
hd64465 fix file specification in comments 2006-10-03 23:01:26 +02:00
landisk sh: landisk: Header cleanups. 2007-05-14 09:18:35 +09:00
mpc1211 PCI: remove initial bios sort of PCI devices on x86 2008-04-20 21:46:58 -07:00
sh03 sh: intc - remove redundant irq code for sh03, snapgear and titan 2007-09-21 11:57:47 +09:00
.gitignore sh: Initial gitignore list 2006-10-03 13:16:15 +09:00
a.out.h aout: move STACK_TOP[_MAX] to asm/processor.h 2008-02-08 09:22:29 -08:00
adc.h
addrspace.h sh: Clean up places that make 29-bit physical assumptions. 2008-01-28 13:18:59 +09:00
atomic-grb.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
atomic-irq.h sh: Split out atomic ops logically. 2006-12-12 08:42:08 +09:00
atomic-llsc.h sh: Split out atomic ops logically. 2006-12-12 08:42:08 +09:00
atomic.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
auxvec.h sh: Provide the FPSCR init through AT_FPUCW. 2008-01-28 13:19:00 +09:00
bitops-grb.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
bitops-irq.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
bitops.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
bug.h sh: Fix up generic BUG build for SH-5. 2008-01-28 13:18:52 +09:00
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 sh: Split out cache status bits per-CPU family. 2008-01-28 13:18:38 +09:00
cacheflush.h sh: Fix argument page dcache flushing regression. 2008-01-07 13:50:18 +09:00
checksum_32.h sh: Split out checksum.h in to _32 and _64 variants. 2008-01-28 13:18:45 +09:00
checksum_64.h sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
checksum.h sh: Split out checksum.h in to _32 and _64 variants. 2008-01-28 13:18:45 +09:00
clock.h sh: Implement clk_round_rate() in the clock framework. 2007-07-20 13:29:09 +09:00
cmpxchg-grb.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
cmpxchg-irq.h sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
cpu-features.h sh: Add 32-bit opcode feature CPU flag. 2007-05-09 01:35:01 +00:00
cputime.h
current.h
delay.h sh: Fix up the sh64 build. 2008-03-06 17:23:15 +09:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h
dma-mapping.h sh: declared coherent memory support V2 2008-01-28 13:19:04 +09:00
dma.h sh: dma: Fix CONFIG_SYSFS=n build. 2007-09-21 11:57:53 +09:00
dmabrg.h sh: SH7760 DMABRG support. 2007-05-09 17:36:15 +09:00
edosk7705.h fix file specification in comments 2007-05-09 08:58:16 +02:00
elf.h sh: Kill off superfluous __KERNEL__ check in asm/elf.h. 2008-01-28 13:19:00 +09:00
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 fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h
fixmap.h sh: Preparation for uncached jumps through PMB. 2008-01-28 13:18:59 +09:00
flat.h sh: Fix up binfmt_flat compile warnings. 2008-01-28 13:19:00 +09:00
fpu.h sh: Fix TIF_USEDFPU clearing under FPU emulation. 2008-03-26 19:09:21 +09:00
freq.h
futex-irq.h sh: Fix up futex implementation. 2007-06-18 13:58:32 +09:00
futex.h sh: Fix up futex implementation. 2007-06-18 13:58:32 +09:00
gpio.h sh: Add gpio.h stubs for PFC definitions. 2007-09-21 11:57:49 +09:00
hardirq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
hd64461.h sh: include/asm-sh/: Spelling fixes. 2008-01-28 13:19:01 +09:00
heartbeat.h sh: heartbeat driver update. 2007-09-21 11:57:51 +09:00
hp6xx.h sh: Tidy include/asm-sh/hp6xx.h 2008-02-14 14:22:11 +09:00
hw_irq.h sh: intc - remove default interrupt priority tables 2008-01-28 13:19:02 +09:00
ide.h ide: remove ide_default_io_ctl() macro 2008-04-18 00:46:34 +02:00
ilsel.h sh: x3proto: ILSEL IRQ support. 2007-09-21 11:57:48 +09:00
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 sh: termios ioctl definitions 2008-02-14 14:22:07 +09:00
ipcbuf.h
irq_regs.h sh: Updates for IRQ handler changes. 2006-10-06 15:31:16 +09:00
irq.h sh: asm/irq.h needs asm/cpu/irq.h. 2008-02-14 14:22:12 +09:00
irqflags_32.h sh: Split out irqflags.h in to _32 and _64 variants. 2008-01-28 13:18:40 +09:00
irqflags_64.h sh: Split out irqflags.h in to _32 and _64 variants. 2008-01-28 13:18:40 +09:00
irqflags.h sh: Split out irqflags.h in to _32 and _64 variants. 2008-01-28 13:18:40 +09:00
Kbuild sh: Fix posix_types.h userspace breakage from sh64 merge. 2008-01-28 13:19:02 +09:00
kdebug.h x86: optimize page faults like all other achitectures and kill notifier cruft 2007-10-16 09:42:50 -07:00
kexec.h kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
keyboard.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kgdb.h sh: Make kgdb i-cache flushing less inept. 2007-10-03 17:21:10 +09:00
kmap_types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
kvm.h kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
lboxre2.h sh: Tidy up L-BOX area5 addresses. 2007-05-07 02:11:55 +00:00
linkage.h
local.h
machvec.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
magicpanelr2.h sh: Magic Panel R2 board support. 2007-09-21 11:57:54 +09:00
mc146818rtc.h sh: Kill off the rest of the legacy rtc mess. 2006-09-27 17:45:01 +09:00
microdev.h sh: include/asm-sh/: Spelling fixes. 2008-01-28 13:19:01 +09:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context_32.h sh: Move in the SH-5 mmu_context headers. 2008-01-28 13:18:41 +09:00
mmu_context_64.h sh: Get SH-5 caches working again post-unification. 2008-02-14 14:22:12 +09:00
mmu_context.h sh: Move in the SH-5 mmu_context headers. 2008-01-28 13:18:41 +09:00
mmu.h sh: Use a per-cpu ASID cache. 2007-02-13 10:54:45 +09:00
mmzone.h sh: Support for multiple nodes. 2007-06-08 02:43:49 +00:00
module.h sh: Add SH-5 support to asm/module.h. 2008-01-28 13:18:39 +09:00
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 sh: Always use CONFIG_HZ for HZ. 2008-01-28 13:19:01 +09:00
parport.h sh: Add parport stub for SuperIO ports. 2007-07-07 07:28:11 +09:00
pci.h sh: Get the SH-5 PCI support building. 2008-01-28 13:18:55 +09:00
percpu.h
pgalloc.h CONFIG_HIGHPTE vs. sub-page page tables. 2008-02-08 09:22:42 -08:00
pgtable_32.h sh: Document PTEL 31:29 use on PTEA-wielding parts. 2008-01-28 13:18:59 +09:00
pgtable_64.h sh: Fix up set_fixmap_nocache() for SH-5. 2008-02-14 14:22:11 +09:00
pgtable.h sh: Stub in page_table_range_init() on nommu. 2008-01-28 13:19:00 +09:00
pm.h sh: APM/PM support. 2006-09-27 16:20:22 +09:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types_32.h sh: Fix posix_types.h userspace breakage from sh64 merge. 2008-01-28 13:19:02 +09:00
posix_types_64.h sh: Fix posix_types.h userspace breakage from sh64 merge. 2008-01-28 13:19:02 +09:00
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 sh: Share bug/debug traps across _32 and _64. 2008-01-28 13:18:50 +09:00
push-switch.h sh: push-switch fixups for work_struct API damage. 2006-12-12 08:42:07 +09:00
r7780rp.h sh: trapped io support for highlander V2 2008-02-14 14:22:09 +09:00
resource.h
rtc.h rtc: rtc-sh: Split out the CPU defs to asm/cpu/. 2008-01-28 13:18:58 +09:00
rts7751r2d.h sh: trapped io support for r2d V2 2008-02-14 14:22:09 +09:00
rwsem.h sh: Warn against direct inclusion of <asm/rwsem.h>. 2007-06-08 11:56:31 +09:00
scatterlist.h sh: Kill off pgtable.h from scatterlist.h. 2008-01-28 13:19:00 +09:00
sdk7780.h sh: Add support for SDK7780 board. 2008-01-28 13:19:04 +09:00
se7206.h sh: SE7206 build fixes. 2006-12-06 10:45:37 +09:00
se7343.h sh: Solution Engine SH7343 board support. 2006-09-27 18:09:34 +09:00
se7722.h sh: clean up interrupt code for solution engine 7722 board 2007-07-20 12:18:20 +09:00
se7751.h Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
se7780.h sh: SH7780 Solution Engine board support. 2007-05-07 02:11:55 +00:00
se.h sh: Solution Engine SH7705 board and CPU updates. 2007-05-07 02:11:56 +00:00
sections.h sh: Preparation for uncached jumps through PMB. 2008-01-28 13:18:59 +09:00
segment.h
semaphore.h Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sembuf.h
serial.h sh: rts7751r2d board updates. 2007-02-15 18:20:52 +09:00
setup.h sh: Move zero page param defs somewhere sensible. 2007-10-30 17:32:08 +09:00
sfp-machine.h sh: Kill off remaining config.h references. 2006-10-03 13:19:02 +09:00
sh_bios.h
shmbuf.h
shmin.h sh: Add some missing board headers. 2006-10-19 17:31:22 +09:00
shmparam.h sh: Fixup SHMLBA definition for SH7705. 2006-09-27 15:29:18 +09:00
sigcontext.h sh: SH-2A FPU support. 2008-01-28 13:18:57 +09:00
siginfo.h
signal.h [PATCH] irq-flags: SH: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
smc37c93x.h sh: Move smc37c93x.h for SystemH board use. 2006-09-27 11:16:20 +09:00
smp.h sh: Bring SMP support back from the dead. 2007-09-21 18:32:32 +09:00
snapgear.h sh: intc - remove redundant irq code for sh03, snapgear and titan 2007-09-21 11:57:47 +09:00
socket.h [NET]: Introducing socket mark socket option. 2008-01-31 19:27:19 -08:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
sparsemem.h sh: sparsemem support. 2007-06-08 02:43:43 +00:00
spi.h sh: add spi header and r2d platform data V3 2008-01-28 16:24:46 +09:00
spinlock_types.h sh: Overhaul spinlocks and rwlocks for SH-4A SMP. 2007-09-21 11:57:51 +09:00
spinlock.h sh: Overhaul spinlocks and rwlocks for SH-4A SMP. 2007-09-21 11:57:51 +09:00
stat.h sh: Special layout for SH-5 stat.h and user.h. 2008-01-28 13:18:53 +09:00
statfs.h
string_32.h sh: Split out asm/string.h for sh32 and sh64. 2008-01-28 13:18:40 +09:00
string_64.h sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
string.h sh: Split out asm/string.h for sh32 and sh64. 2008-01-28 13:18:40 +09:00
system_32.h sh: trapped io support V2 2008-02-14 14:22:09 +09:00
system_64.h sh: Preparation for uncached jumps through PMB. 2008-01-28 13:18:59 +09:00
system.h sh: trapped io support V2 2008-02-14 14:22:09 +09:00
systemh7751.h Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
termbits.h sh: termios ioctl definitions 2008-02-14 14:22:07 +09:00
termios.h sh: termios ioctl definitions 2008-02-14 14:22:07 +09:00
thread_info.h remove __attribute_used__ 2008-01-28 23:21:18 +01:00
timer.h sh: clockevent/clocksource/hrtimers/nohz TMU support. 2007-05-09 17:33:24 +09:00
timex.h
titan.h sh: sh775x/titan fixes for irq header changes. 2006-12-06 12:05:02 +09:00
tlb_64.h sh: Move over the SH-5 head.S and tlb.h. 2008-01-28 13:18:44 +09:00
tlb.h sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n. 2008-02-14 14:22:11 +09:00
tlbflush.h remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
topology.h sh: Support for multiple nodes. 2007-06-08 02:43:49 +00:00
types.h sh: Share bug/debug traps across _32 and _64. 2008-01-28 13:18:50 +09:00
uaccess_32.h sh: make copy_to/from_user() static inline 2008-02-14 14:22:09 +09:00
uaccess_64.h sh: make copy_to/from_user() static inline 2008-02-14 14:22:09 +09:00
uaccess.h sh: make copy_to/from_user() static inline 2008-02-14 14:22:09 +09:00
ubc.h sh: remove support for sh7300 and solution engine 7300 2007-07-26 15:37:57 +09:00
ucontext.h
unaligned.h
unistd_32.h sh: Wire up new timerfd syscalls. 2008-02-14 14:22:08 +09:00
unistd_64.h sh: Wire up new timerfd syscalls. 2008-02-14 14:22:08 +09:00
unistd.h sh: Split out syscall ABI for _32 and _64 variants. 2008-01-28 13:18:45 +09:00
user.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
vga.h sh: Add a dummy vga.h. 2007-11-07 20:19:30 +09:00
watchdog.h sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
xor.h