Main Page | Directories | File List | Globals

adi_drivers.c File Reference

#include <agnix/agnix.h>
#include <agnix/adi/adi.h>
#include <agnix/list.h>
#include <agnix/spinlock.h>

Include dependency graph for adi_drivers.c:

Go to the source code of this file.

Functions

int adi_register_pci_driver (struct adi_driver_s *adi_driver)
int adi_register_driver (struct adi_driver_s *adi_driver)
int adi_drivers_data_init (void)
int adi_drivers_init (void)

Variables

list_head adi_pci_drivers_list
list_head adi_usb_drivers_list
list_head adi_isa_drivers_list
spinlock_t adi_pci_drivers_list_lock
spinlock_t adi_usb_drivers_list_lock
spinlock_t adi_isa_drivers_list_lock


Function Documentation

int adi_drivers_data_init void   ) 
 

Definition at line 48 of file adi_drivers.c.

References adi_isa_drivers_list, adi_isa_drivers_list_lock, adi_pci_drivers_list, adi_pci_drivers_list_lock, adi_usb_drivers_list, and adi_usb_drivers_list_lock.

Referenced by adi_drivers_init().

00049 {
00050     INIT_LIST_HEAD(&adi_pci_drivers_list);
00051     INIT_LIST_HEAD(&adi_usb_drivers_list);
00052     INIT_LIST_HEAD(&adi_isa_drivers_list);
00053 
00054     spin_lock_init(&adi_pci_drivers_list_lock);
00055     spin_lock_init(&adi_usb_drivers_list_lock);
00056     spin_lock_init(&adi_isa_drivers_list_lock);
00057 
00058     return 0;
00059 }

int adi_drivers_init void   ) 
 

Definition at line 61 of file adi_drivers.c.

References adi_blkdrv_init(), adi_buses_init(), adi_chrdrv_init(), adi_drivers_data_init(), adi_netdrv_init(), and adi_resources_init().

Referenced by start_kernel().

00062 {
00063     adi_drivers_data_init();
00064     adi_resources_init();
00065     adi_buses_init();
00066 #if CONFIG_DRIVERS_NET
00067     adi_netdrv_init();
00068 #endif
00069 #if CONFIG_DRIVERS_BLOCK
00070     adi_blkdrv_init();
00071 #endif
00072 #if CONFIG_DRIVERS_CHAR
00073     adi_chrdrv_init();
00074 #endif
00075 
00076     return 0;
00077 }

Here is the call graph for this function:

int adi_register_driver struct adi_driver_s *  adi_driver  ) 
 

Definition at line 40 of file adi_drivers.c.

References adi_register_pci_driver().

Referenced by adi_netdrv_rtl_8029_init().

00041 {
00042     if (adi_driver->adi_driver_type == ADI_DRIVER_TYPE_PCI)
00043         adi_register_pci_driver(adi_driver);
00044 
00045     return 0;
00046 }

Here is the call graph for this function:

int adi_register_pci_driver struct adi_driver_s *  adi_driver  ) 
 

Definition at line 27 of file adi_drivers.c.

References adi_pci_drivers_list, adi_pci_drivers_list_lock, adi_pcibus_device_init(), and flags.

Referenced by adi_register_driver().

00028 {
00029     u32 flags;
00030 
00031     spin_lock_irqsave(&adi_pci_drivers_list_lock, flags);            
00032     list_add(&adi_driver->adi_driver_list, &adi_pci_drivers_list);
00033     spin_unlock_irqrestore(&adi_pci_drivers_list_lock, flags);            
00034 
00035     adi_pcibus_device_init(adi_driver->adi_driver_union.adi_driver_pci, adi_driver->adi_driver_id);
00036 
00037     return 0;
00038 }

Here is the call graph for this function:


Variable Documentation

struct list_head adi_isa_drivers_list
 

Definition at line 21 of file adi_drivers.c.

Referenced by adi_drivers_data_init().

spinlock_t adi_isa_drivers_list_lock
 

Definition at line 25 of file adi_drivers.c.

Referenced by adi_drivers_data_init().

struct list_head adi_pci_drivers_list
 

Definition at line 19 of file adi_drivers.c.

Referenced by adi_drivers_data_init(), and adi_register_pci_driver().

spinlock_t adi_pci_drivers_list_lock
 

Definition at line 23 of file adi_drivers.c.

Referenced by adi_drivers_data_init(), and adi_register_pci_driver().

struct list_head adi_usb_drivers_list
 

Definition at line 20 of file adi_drivers.c.

Referenced by adi_drivers_data_init().

spinlock_t adi_usb_drivers_list_lock
 

Definition at line 24 of file adi_drivers.c.

Referenced by adi_drivers_data_init().

Dokumentacje wygenerowano programem Doxygen 1.4.2 dla projektu Agnix