1097
1098 skb_queue_head_init(&yp->send_queue);
1099
1100 dev->header_ops = &ax25_header_ops;
1101
1102 dev->set_mac_address = yam_set_mac_address;
1103
1104 dev->type = ARPHRD_AX25;
1105 dev->hard_header_len = AX25_MAX_HEADER_LEN;
1106 dev->mtu = AX25_MTU;
1107 dev->addr_len = AX25_ADDR_LEN;
1108 memcpy(dev->broadcast, &ax25_bcast, AX25_ADDR_LEN);
1109 memcpy(dev->dev_addr, &ax25_defaddr, AX25_ADDR_LEN);
1110}
1111
1112static int __init yam_init_driver(void)
1113{
1114 struct net_device *dev;
1115 int i, err;
1116 char name[IFNAMSIZ];
1117
1118 printk(yam_drvinfo);
1119
1120 for (i = 0; i < NR_PORTS; i++) {
1121 sprintf(name, "yam%d", i);
1122
1123 dev = alloc_netdev(sizeof(struct yam_port), name,
1124 yam_setup);
1125 if (!dev) {
1126 printk(KERN_ERR "yam: cannot allocate net device %s\n",
1127 dev->name);
1128 err = -ENOMEM;
1129 goto error;
1130 }
1131
1132 err = register_netdev(dev);
1133 if (err) {
1134 printk(KERN_WARNING "yam: cannot register net device %s\n", dev->name);
1135 goto error;
1136 }
1137 yam_devs[i] = dev;