#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(). |