#include <agnix/init.h>
#include <agnix/adi/adi.h>
#include <agnix/net/net.h>
#include <agnix/irq.h>
#include <agnix/memory.h>
#include <agnix/strings.h>
#include <agnix/console.h>
#include <agnix/list.h>
#include <agnix/spinlock.h>
Include dependency graph for adi_net.c:
Go to the source code of this file.
Defines | |
#define | MOD_NAME "NET: " |
Functions | |
int | adi_netdev_set_name (struct adi_netdev_s *netdev, char *if_name) |
int | adi_netdev_compose_name (struct adi_netdev_s *netdev) |
int | adi_netdev_set_id (struct adi_netdev_s *netdev) |
adi_netdev_s * | adi_netdev_find_by_name (char *name) |
int | adi_netdev_list_add (struct adi_netdev_s *netdev) |
int | adi_netdev_init (struct adi_netdev_s *netdev) |
int | adi_register_netdev (struct adi_netdev_s *netdev) |
adi_netdev_s * | adi_netdev_alloc (void) |
void | adi_netdev_free (struct adi_netdev_s *netdev) |
int | adi_netdev_data_init (void) |
int __init | adi_netdrv_init (void) |
void | adi_netdev_print_interfaces (void) |
Variables | |
list_head | adi_netdev_list |
spinlock_t | adi_netdev_list_lock |
int | net_devices_last_id = 0 |
|
|
|
Definition at line 133 of file adi_net.c. References get_free_pages(). 00134 { 00135 return (struct adi_netdev_s *)get_free_pages(0); 00136 }
Here is the call graph for this function: |
|
Definition at line 45 of file adi_net.c. References eth_device_compose_name(). Referenced by adi_netdev_init(). 00046 { 00047 switch(netdev->if_layer_2.if_type) { 00048 case IF_TYPE_ETH: 00049 return eth_device_compose_name(netdev); 00050 } 00051 00052 return 0; 00053 }
Here is the call graph for this function: |
|
Definition at line 143 of file adi_net.c. References adi_netdev_list, and adi_netdev_list_lock. Referenced by adi_netdrv_init(). 00144 { 00145 INIT_LIST_HEAD(&adi_netdev_list); 00146 spin_lock_init(&adi_netdev_list_lock); 00147 00148 return 0; 00149 }
|
|
Definition at line 64 of file adi_net.c. References adi_netdev_list, adi_netdev_list_lock, flags, and word_cmp(). Referenced by agnix_console_net_ifconfig(). 00065 { 00066 struct adi_netdev_s *netdev; 00067 struct list_head *tmp; 00068 int found; 00069 u32 flags; 00070 00071 spin_lock_irqsave(&adi_netdev_list_lock, flags); 00072 00073 found = 0; 00074 list_for_each(tmp, &adi_netdev_list) { 00075 netdev = list_entry(tmp, struct adi_netdev_s, list); 00076 00077 if (!word_cmp(netdev->if_name, name, NETDEV_NAME_MAX_LEN)) { 00078 found = 1; 00079 break; 00080 } 00081 } 00082 00083 spin_unlock_irqrestore(&adi_netdev_list_lock, flags); 00084 00085 if (found) 00086 return netdev; 00087 00088 return NULL; 00089 }
Here is the call graph for this function: |
|
Definition at line 138 of file adi_net.c. References put_free_pages(). 00139 { 00140 put_free_pages((u32)netdev, 0); 00141 }
Here is the call graph for this function: |
|
Definition at line 102 of file adi_net.c. References adi_netdev_compose_name(), and eth_device_init(). Referenced by rtl_8029_probe(). 00103 { 00104 adi_netdev_compose_name(netdev); 00105 00106 switch(netdev->if_layer_2.if_type) { 00107 case IF_TYPE_ETH: 00108 return eth_device_init(netdev); 00109 00110 case IF_TYPE_FDDI: 00111 break; 00112 00113 case IF_TYPE_TR: 00114 break; 00115 } 00116 00117 return 0; 00118 }
Here is the call graph for this function: |
|
Definition at line 91 of file adi_net.c. References adi_netdev_list, adi_netdev_list_lock, and flags. Referenced by adi_register_netdev(). 00092 { 00093 u32 flags; 00094 00095 spin_lock_irqsave(&adi_netdev_list_lock, flags); 00096 list_add(&netdev->list, &adi_netdev_list); 00097 spin_unlock_irqrestore(&adi_netdev_list_lock, flags); 00098 00099 return 0; 00100 }
|
|
Definition at line 164 of file adi_net.c. References adi_netdev_list, adi_netdev_list_lock, flags, and printf(). Referenced by agnix_console_net_ifconfig(). 00165 { 00166 struct adi_netdev_s *netdev; 00167 struct list_head *tmp; 00168 const char *link_encaps; 00169 u32 flags; 00170 00171 spin_lock_irqsave(&adi_netdev_list_lock, flags); 00172 00173 list_for_each(tmp, &adi_netdev_list) { 00174 netdev = list_entry(tmp, struct adi_netdev_s, list); 00175 00176 if (netdev->if_layer_2.if_type == IF_TYPE_ETH) 00177 link_encaps = "Ethernet"; 00178 else 00179 if (netdev->if_layer_2.if_type == IF_TYPE_TR) 00180 link_encaps = "Tokenring"; 00181 else 00182 if (netdev->if_layer_2.if_type == IF_TYPE_FDDI) 00183 link_encaps = "FDDI"; 00184 else 00185 link_encaps = "Unknown"; 00186 00187 printf("\n%s\t Link encapsulation:%s HWaddr %02x:%02x:%02x:%02x:%02x:%02x\n", 00188 netdev->if_name, link_encaps, 00189 netdev->if_layer_2.if_addr[0], netdev->if_layer_2.if_addr[1], netdev->if_layer_2.if_addr[2], 00190 netdev->if_layer_2.if_addr[3], netdev->if_layer_2.if_addr[4], netdev->if_layer_2.if_addr[5]); 00191 00192 printf("\t Inet address: %d.%d.%d.%d MTU: %d\n", 00193 netdev->if_layer_3.if_addr.address[0], netdev->if_layer_3.if_addr.address[1], 00194 netdev->if_layer_3.if_addr.address[2], netdev->if_layer_3.if_addr.address[3], 00195 netdev->if_layer_2.if_mtu); 00196 } 00197 00198 spin_unlock_irqrestore(&adi_netdev_list_lock, flags); 00199 }
Here is the call graph for this function: |
|
Definition at line 55 of file adi_net.c. References net_devices_last_id. Referenced by adi_register_netdev(). 00056 { 00057 netdev->if_id = net_devices_last_id; 00058 00059 net_devices_last_id++; 00060 00061 return 0; 00062 }
|
|
Definition at line 31 of file adi_net.c. References memcpy(), and strlen(). 00032 { 00033 int name_len; 00034 00035 name_len = strlen(if_name); 00036 00037 if (name_len < NETDEV_NAME_MAX_LEN) 00038 memcpy(netdev->if_name, if_name, name_len); 00039 else 00040 memcpy(netdev->if_name, if_name, NETDEV_NAME_MAX_LEN); 00041 00042 return 0; 00043 }
Here is the call graph for this function: |
|
Definition at line 151 of file adi_net.c. References adi_netdev_data_init(), adi_netdrv_rtl_8029_init(), MOD_NAME, and printk(). Referenced by adi_drivers_init(). 00152 { 00153 printk(MOD_NAME "Initializing network drivers\n"); 00154 00155 adi_netdev_data_init(); 00156 00157 #if CONFIG_DRIVERS_NET_RTL_8029 00158 adi_netdrv_rtl_8029_init(); 00159 #endif 00160 00161 return 0; 00162 }
Here is the call graph for this function: |
|
Definition at line 120 of file adi_net.c. References adi_netdev_list_add(), adi_netdev_set_id(), and register_eth_device(). Referenced by rtl_8029_probe(). 00121 { 00122 adi_netdev_set_id (netdev); 00123 adi_netdev_list_add(netdev); 00124 00125 switch (netdev->if_layer_2.if_type) { 00126 case IF_TYPE_ETH: 00127 return register_eth_device(netdev); 00128 } 00129 00130 return 0; 00131 }
Here is the call graph for this function: |
|
Definition at line 26 of file adi_net.c. Referenced by adi_netdev_data_init(), adi_netdev_find_by_name(), adi_netdev_list_add(), adi_netdev_print_interfaces(), and arp_get_local_mac(). |
|
Definition at line 27 of file adi_net.c. Referenced by adi_netdev_data_init(), adi_netdev_find_by_name(), adi_netdev_list_add(), adi_netdev_print_interfaces(), and arp_get_local_mac(). |
|
Definition at line 29 of file adi_net.c. Referenced by adi_netdev_set_id(). |