Main Page | Directories | File List | Globals

pcibus_core.c

Go to the documentation of this file.
00001 /*
00002  * kernel_drivers/adi_buses/pci/pcibus_core.c
00003  *
00004  * Copyright (c) 2003-2004 Lukasz Dembinski <dembol@nasa.com.pl>
00005  * All Rights Reserved
00006  * 
00007  * Date:        2004/06
00008  * Author:      Lukasz Dembinski
00009  * Info:        pcibus_core.c core file
00010  * Contact:     mailto: <dembol@nasa.com.pl>
00011  *
00012  */
00013 
00014 #include <agnix/agnix.h>
00015 #include <agnix/adi/adi.h>
00016 #include <agnix/list.h>
00017 #include <agnix/spinlock.h>
00018 #include <agnix/console.h>
00019 
00020 #define MOD_NAME        "PCI: \t"
00021 
00022 struct list_head pcibus_list;
00023 struct list_head pcidev_list;
00024 spinlock_t pcibus_list_lock;
00025 spinlock_t pcidev_list_lock;
00026 
00027 int pcibus_disable = 0;
00028 
00029 int adi_pcibus_init(void)
00030 {
00031     printk(MOD_NAME "initializing PCI bus\n");
00032 
00033     INIT_LIST_HEAD(&pcibus_list);
00034     INIT_LIST_HEAD(&pcidev_list);
00035     spin_lock_init(&pcibus_lock);
00036     spin_lock_init(&pcidev_lock);
00037 
00038     if (pcibus_ops_init() < 0) {
00039         printk(MOD_NAME "disabling PCI subsystem\n");
00040         return -1;
00041     }
00042     
00043     pcibus_scan_all();
00044     pcibus_irq_init();
00045 
00046     return 0;
00047 }
Dokumentacje wygenerowano programem Doxygen 1.4.2 dla projektu Agnix