mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 16:38:31 +00:00 
			
		
		
		
	 d5d0e88c1e
			
		
	
	
		d5d0e88c1e
		
	
	
	
	
		
			
			Replace the #ifdef'ed OLPC-specific init functions by a conditional x86_init function. If the function returns 0 we leave pci_arch_init, otherwise we continue. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Andres Salomon <dilinger@collabora.co.uk> LKML-Reference: <43F901BD926A4E43B106BF17856F0755A318CE89@orsmsx508.amr.corp.intel.com> Signed-off-by: Jacob Pan <jacob.jun.pan@intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
		
			
				
	
	
		
			45 lines
		
	
	
		
			1005 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1005 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <linux/pci.h>
 | |
| #include <linux/init.h>
 | |
| #include <asm/pci_x86.h>
 | |
| #include <asm/x86_init.h>
 | |
| 
 | |
| /* arch_initcall has too random ordering, so call the initializers
 | |
|    in the right sequence from here. */
 | |
| static __init int pci_arch_init(void)
 | |
| {
 | |
| #ifdef CONFIG_PCI_DIRECT
 | |
| 	int type = 0;
 | |
| 
 | |
| 	type = pci_direct_probe();
 | |
| #endif
 | |
| 
 | |
| 	if (!(pci_probe & PCI_PROBE_NOEARLY))
 | |
| 		pci_mmcfg_early_init();
 | |
| 
 | |
| 	if (x86_init.pci.arch_init && !x86_init.pci.arch_init())
 | |
| 		return 0;
 | |
| 
 | |
| #ifdef CONFIG_PCI_BIOS
 | |
| 	pci_pcbios_init();
 | |
| #endif
 | |
| 	/*
 | |
| 	 * don't check for raw_pci_ops here because we want pcbios as last
 | |
| 	 * fallback, yet it's needed to run first to set pcibios_last_bus
 | |
| 	 * in case legacy PCI probing is used. otherwise detecting peer busses
 | |
| 	 * fails.
 | |
| 	 */
 | |
| #ifdef CONFIG_PCI_DIRECT
 | |
| 	pci_direct_init(type);
 | |
| #endif
 | |
| 	if (!raw_pci_ops && !raw_pci_ext_ops)
 | |
| 		printk(KERN_ERR
 | |
| 		"PCI: Fatal: No config space access function found\n");
 | |
| 
 | |
| 	dmi_check_pciprobe();
 | |
| 
 | |
| 	dmi_check_skip_isa_align();
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| arch_initcall(pci_arch_init);
 |