Patch: pre7-4: Update all (at least x86) net drivers for netdevice->name change

From: Adam J. Richter (adam@yggdrasil.com)
Date: Thu May 04 2000 - 09:14:22 EST


        Many network device drivers in linux-2.3.99pre7-4 do not
compile because of a small change made to the "name" field in
struct netdevice. It is now an character array rather than a pointer
to a string. A lot of network device drivers still try do things
like assign to it as if it were a pointer. The following patch
enables all ethernet drivers that are available on the x86 platform
to compile, at least as modules. I believe the changes are correct,
although it is possible that I have made a mistake or two in the
course of editing these fifty files.

        Notes:
                1. To make the kernel compile completely, it is
                   also necessary to make some adjustments for
                   a small change in struct timer. I will submit
                   those changes as a separate patch file, because
                   I am less sure of them, although pre7-4 now runs
                   fine so far on the system on which I tried it.

                2. There is a (new?) facility that appeared in the
                   kernel, where a network driver can register a
                   device with a name like "eth%d", and it will
                   be replaced with "eth0", "eth1", based on the
                   lowest interface number available. Many drivers
                   duplicate this functionality. In almost all cases,
                   I have left this alone, on the off chance that
                   the drivers' assignment policies might be relevant,
                   and because I get the feeling that Linus prefers
                   separating patch submissions when possible,
                   this patch is pretty big already, and perhaps others
                   would be better able to tackle that part. However, I
                   do think that all or almost all of that interface
                   number selection code in the individual drivers
                   should be eliminated.

                3. The Yggdrasil kernel tree has other changes in it
                   (primarily more modularization). I do not believe
                   any of that has leaked into the patch. I removed
                   all of the references to CONFIG_INET_MODULE, for
                   example. Anyhow, I apologize if I missed anything.

Adam J. Richter __ ______________ 4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com \ / San Jose, California 95129-1034
+1 408 261-6630 | g g d r a s i l United States of America
fax +1 408 261-6631 "Free Software For The Rest Of Us."
------------------------------CUT HERE----------------------------------

--- /tmp/adam/linux-2.3.99-pre6.4/drivers/isdn/hysdn/hysdn_net.c Tue Feb 15 22:39:01 2000
+++ linux/drivers/isdn/hysdn/hysdn_net.c Thu May 4 05:45:15 2000
@@ -323,7 +323,6 @@
         dev->base_addr = card->iobase; /* IO address */
         dev->irq = card->irq; /* irq */
         dev->init = net_init; /* the init function of the device */
- dev->name = ((struct net_local *) dev)->dev_name; /* device name */
         if ((i = register_netdev(dev))) {
                 printk(KERN_WARNING "HYSDN: unable to create network device\n");
                 kfree(dev);
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/isdn/isdn_net.c Thu Apr 13 09:03:03 2000
+++ linux/drivers/isdn/isdn_net.c Thu May 4 05:45:06 2000
@@ -2799,7 +2799,7 @@
                 strcpy(netdev->local->name, " ");
         else
                 strcpy(netdev->local->name, name);
- netdev->dev.name = netdev->local->name;
+ strcpy(netdev->dev.name, netdev->local->name);
         netdev->dev.priv = netdev->local;
         netdev->dev.init = isdn_net_init;
         netdev->local->p_encap = ISDN_NET_ENCAP_RAWIP;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/es3210.c Wed Nov 10 09:53:37 1999
+++ linux/drivers/net/es3210.c Thu May 4 05:45:31 2000
@@ -382,10 +382,9 @@
 #ifdef MODULE
 #define MAX_ES_CARDS 4 /* Max number of ES3210 cards per module */
 #define NAMELEN 8 /* # of chars for storing dev->name */
-static char namelist[NAMELEN * MAX_ES_CARDS] = { 0, };
 static struct net_device dev_es3210[MAX_ES_CARDS] = {
         {
- NULL, /* assign a chunk of namelist[] below */
+ "", /* device name is inserted by net_init.c */
                 0, 0, 0, 0,
                 0, 0,
                 0, 0, 0, NULL, NULL
@@ -407,7 +406,6 @@
 
         for (this_dev = 0; this_dev < MAX_ES_CARDS; this_dev++) {
                 struct net_device *dev = &dev_es3210[this_dev];
- dev->name = namelist+(NAMELEN*this_dev);
                 dev->irq = irq[this_dev];
                 dev->base_addr = io[this_dev];
                 dev->mem_start = mem[this_dev]; /* Currently ignored by driver */
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/ethertap.c Wed Feb 9 20:08:09 2000
+++ linux/drivers/net/ethertap.c Thu May 4 05:45:32 2000
@@ -339,11 +339,9 @@
 static int unit;
 MODULE_PARM(unit,"i");
 
-static char devicename[9] = { 0, };
-
 static struct net_device dev_ethertap =
 {
- devicename,
+ " ",
         0, 0, 0, 0,
         1, 5,
         0, 0, 0, NULL, ethertap_probe
@@ -352,10 +350,10 @@
 int init_module(void)
 {
         dev_ethertap.base_addr=unit+NETLINK_TAPBASE;
- sprintf(devicename,"tap%d",unit);
- if (dev_get(devicename))
+ sprintf(dev_ethertap.name,"tap%d",unit);
+ if (dev_get(dev_ethertap.name))
         {
- printk(KERN_INFO "%s already loaded.\n", devicename);
+ printk(KERN_INFO "%s already loaded.\n", dev_ethertap.name);
                 return -EBUSY;
         }
         if (register_netdev(&dev_ethertap) != 0)
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/ewrk3.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/ewrk3.c Thu May 4 05:45:32 2000
@@ -1409,7 +1409,6 @@
                 new->next = dev->next;
                 dev->next = new;
                 dev = dev->next; /* point to the new device */
- dev->name = (char *) (dev + 1);
                 if (num_eth > 9999) {
                         sprintf(dev->name, "eth????"); /* New device name */
                 } else {
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/6pack.c Tue Feb 22 10:20:11 2000
+++ linux/drivers/net/hamradio/6pack.c Thu May 4 05:45:47 2000
@@ -51,7 +51,6 @@
 
 
 typedef struct sixpack_ctrl {
- char if_name[8]; /* "sp0\0" .. "sp99999\0" */
         struct sixpack ctrl; /* 6pack things */
         struct net_device dev; /* the device */
 } sixpack_ctrl_t;
@@ -107,8 +106,7 @@
                 /* Initialize channel control data */
                 set_bit(SIXPF_INUSE, &spp->ctrl.flags);
                 spp->ctrl.tty = NULL;
- sprintf(spp->if_name, "sp%d", i);
- spp->dev.name = spp->if_name;
+ sprintf(spp->dev.name, "sp%d", i);
                 spp->dev.base_addr = i;
                 spp->dev.priv = (void*)&(spp->ctrl);
                 spp->dev.next = NULL;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/baycom_epp.c Wed Apr 12 09:38:53 2000
+++ linux/drivers/net/hamradio/baycom_epp.c Thu May 4 05:45:47 2000
@@ -200,8 +200,6 @@
         unsigned int bitrate;
         unsigned char stat;
 
- char ifname[HDLCDRV_IFNAMELEN];
-
         struct {
                 unsigned int intclk;
                 unsigned int fclk;
@@ -444,7 +442,7 @@
 {
 
 #ifdef KISS_VERBOSE
-#define PKP(a,b) printk(KERN_INFO "%s: channel params: " a "\n", bc->ifname, b)
+#define PKP(a,b) printk(KERN_INFO "baycomm_epp: channel params: " a "\n", b)
 #else /* KISS_VERBOSE */
 #define PKP(a,b)
 #endif /* KISS_VERBOSE */
@@ -702,7 +700,7 @@
                 return;
         pktlen = bc->hdlcrx.bufcnt-2+1; /* KISS kludge */
         if (!(skb = dev_alloc_skb(pktlen))) {
- printk("%s: memory squeeze, dropping packet\n", bc->ifname);
+ printk("%s: memory squeeze, dropping packet\n", dev->name);
                 bc->stats.rx_dropped++;
                 return;
         }
@@ -1450,20 +1448,19 @@
                  */
                 memset(bc, 0, sizeof(struct baycom_state));
                 bc->magic = BAYCOM_MAGIC;
- sprintf(bc->ifname, "bce%d", i);
+ sprintf(dev->name, "bce%d", i);
                 bc->cfg.fclk = 19666600;
                 bc->cfg.bps = 9600;
                 /*
                  * initialize part of the device struct
                  */
- dev->name = bc->ifname;
                 dev->if_port = 0;
                 dev->init = baycom_probe;
                 dev->base_addr = iobase[i];
                 dev->irq = 0;
                 dev->dma = 0;
                 if (register_netdev(dev)) {
- printk(KERN_WARNING "%s: cannot register net device %s\n", bc_drvname, bc->ifname);
+ printk(KERN_WARNING "%s: cannot register net device %s\n", bc_drvname, dev->name);
                         kfree(dev->priv);
                         return -ENXIO;
                 }
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/baycom_par.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/baycom_par.c Thu May 4 05:45:47 2000
@@ -505,7 +505,6 @@
         int i, j, found = 0;
         char set_hw = 1;
         struct baycom_state *bc;
- char ifname[HDLCDRV_IFNAMELEN];
 
         printk(bc_drvinfo);
         /*
@@ -513,14 +512,14 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = baycom_device+i;
- sprintf(ifname, "bcp%d", i);
+ sprintf(dev->name, "bcp%d", i);
 
                 if (!mode[i])
                         set_hw = 0;
                 if (!set_hw)
                         iobase[i] = 0;
                 j = hdlcdrv_register_hdlcdrv(dev, &par96_ops, sizeof(struct baycom_state),
- ifname, iobase[i], 0, 0);
+ dev->name, iobase[i], 0, 0);
                 if (!j) {
                         bc = (struct baycom_state *)dev->priv;
                         if (set_hw && baycom_setmode(bc, mode[i]))
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/baycom_ser_fdx.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/baycom_ser_fdx.c Thu May 4 05:45:47 2000
@@ -621,8 +621,6 @@
         int i, j, found = 0;
         char set_hw = 1;
         struct baycom_state *bc;
- char ifname[HDLCDRV_IFNAMELEN];
-
 
         printk(bc_drvinfo);
         /*
@@ -630,14 +628,14 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = baycom_device+i;
- sprintf(ifname, "bcsf%d", i);
+ sprintf(dev->name, "bcsf%d", i);
 
                 if (!mode[i])
                         set_hw = 0;
                 if (!set_hw)
                         iobase[i] = irq[i] = 0;
                 j = hdlcdrv_register_hdlcdrv(dev, &ser12_ops, sizeof(struct baycom_state),
- ifname, iobase[i], irq[i], 0);
+ dev->name, iobase[i], irq[i], 0);
                 if (!j) {
                         bc = (struct baycom_state *)dev->priv;
                         if (set_hw && baycom_setmode(bc, mode[i]))
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/baycom_ser_hdx.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/baycom_ser_hdx.c Thu May 4 05:45:47 2000
@@ -661,8 +661,6 @@
         int i, j, found = 0;
         char set_hw = 1;
         struct baycom_state *bc;
- char ifname[HDLCDRV_IFNAMELEN];
-
 
         printk(bc_drvinfo);
         /*
@@ -670,14 +668,14 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = baycom_device+i;
- sprintf(ifname, "bcsh%d", i);
+ sprintf(dev->name, "bcsh%d", i);
 
                 if (!mode[i])
                         set_hw = 0;
                 if (!set_hw)
                         iobase[i] = irq[i] = 0;
                 j = hdlcdrv_register_hdlcdrv(dev, &ser12_ops, sizeof(struct baycom_state),
- ifname, iobase[i], irq[i], 0);
+ dev->name, iobase[i], irq[i], 0);
                 if (!j) {
                         bc = (struct baycom_state *)dev->priv;
                         if (set_hw && baycom_setmode(bc, mode[i]))
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/bpqether.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/bpqether.c Thu May 4 05:45:47 2000
@@ -496,7 +496,6 @@
 static int bpq_new_device(struct net_device *dev)
 {
         int k;
- unsigned char *buf;
         struct bpqdev *bpq, *bpq2;
 
         if ((bpq = kmalloc(sizeof(struct bpqdev), GFP_KERNEL)) == NULL)
@@ -513,14 +512,13 @@
         memcpy(bpq->acpt_addr, bcast_addr, sizeof(bpq_eth_addr));
 
         dev = &bpq->axdev;
- buf = kmalloc(14, GFP_KERNEL);
 
         for (k = 0; k < MAXBPQDEV; k++) {
                 struct net_device *odev;
 
- sprintf(buf, "bpq%d", k);
+ sprintf(dev->name, "bpq%d", k);
 
- if ((odev = __dev_get_by_name(buf)) == NULL || bpq_check_devices(odev))
+ if ((odev = __dev_get_by_name(dev->name)) == NULL || bpq_check_devices(odev))
                         break;
         }
 
@@ -530,7 +528,6 @@
         }
 
         dev->priv = (void *)bpq; /* pointer back */
- dev->name = buf;
         dev->init = bpq_dev_init;
 
         /* We should be locked, call register_netdevice() directly. */
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/dmascc.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/hamradio/dmascc.c Thu May 4 05:45:47 2000
@@ -211,7 +211,6 @@
 };
 
 struct scc_priv {
- char name[10];
   struct enet_statistics stats;
   struct scc_info *info;
   int channel;
@@ -553,7 +552,6 @@
   for (i = 0; i < 2; i++) {
     dev = &info->dev[i];
     priv = &info->priv[i];
- sprintf(priv->name, "dmascc%i", 2*n+i);
     priv->info = info;
     priv->channel = i;
     priv->cmd = info->scc_base + (i ? SCCB_CMD : SCCA_CMD);
@@ -571,7 +569,7 @@
     priv->rx_task.routine = rx_bh;
     priv->rx_task.data = dev;
     dev->priv = priv;
- dev->name = priv->name;
+ sprintf(dev->name, "dmascc%i", 2*n+i);
     dev->base_addr = io;
     dev->irq = irq;
     dev->open = scc_open;
@@ -593,7 +591,6 @@
     dev_init_buffers(dev);
     if (register_netdevice(dev)) {
       printk("dmascc: could not register %s\n", dev->name);
- dev->name = NULL;
     }
   }
 
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/hdlcdrv.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/hdlcdrv.c Thu May 4 05:45:48 2000
@@ -217,8 +217,7 @@
                 return;
         pkt_len = s->hdlcrx.len - 2 + 1; /* KISS kludge */
         if (!(skb = dev_alloc_skb(pkt_len))) {
- printk("%s: memory squeeze, dropping packet\n",
- s->ifname);
+ printk("%s: memory squeeze, dropping packet\n", dev->name);
                 s->stats.rx_dropped++;
                 return;
         }
@@ -293,7 +292,7 @@
 {
 
 #ifdef KISS_VERBOSE
-#define PKP(a,b) printk(KERN_INFO "%s: channel params: " a "\n", s->ifname, b)
+#define PKP(a,b) printk(KERN_INFO "hdlcdrv.c: channel params: " a "\n", b)
 #else /* KISS_VERBOSE */
 #define PKP(a,b)
 #endif /* KISS_VERBOSE */
@@ -840,12 +839,11 @@
          */
         memset(s, 0, privsize);
         s->magic = HDLCDRV_MAGIC;
- strncpy(s->ifname, ifname, sizeof(s->ifname));
+ strncpy(dev->name, ifname, sizeof(dev->name));
         s->ops = ops;
         /*
          * initialize part of the device struct
          */
- dev->name = s->ifname;
         dev->if_port = 0;
         dev->init = hdlcdrv_probe;
         dev->base_addr = baseaddr;
@@ -853,7 +851,7 @@
         dev->dma = dma;
         if (register_netdev(dev)) {
                 printk(KERN_WARNING "hdlcdrv: cannot register net "
- "device %s\n", s->ifname);
+ "device %s\n", dev->name);
                 kfree(dev->priv);
                 return -ENXIO;
         }
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/mkiss.c Mon Feb 28 07:16:54 2000
+++ linux/drivers/net/hamradio/mkiss.c Thu May 4 05:45:48 2000
@@ -73,7 +73,6 @@
 };
 
 typedef struct ax25_ctrl {
- char if_name[8]; /* "ax0\0" .. "ax99999\0" */
         struct ax_disp ctrl; /* */
         struct net_device dev; /* the device */
 } ax25_ctrl_t;
@@ -200,9 +199,8 @@
 
                 /* Initialize channel control data */
                 set_bit(AXF_INUSE, &axp->ctrl.flags);
- sprintf(axp->if_name, "ax%d", i++);
+ sprintf(axp->dev.name, "ax%d", i++);
                 axp->ctrl.tty = NULL;
- axp->dev.name = axp->if_name;
                 axp->dev.base_addr = i;
                 axp->dev.priv = (void *)&axp->ctrl;
                 axp->dev.next = NULL;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/scc.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/scc.c Thu May 4 05:45:48 2000
@@ -1554,7 +1554,6 @@
 
 static int scc_net_setup(struct scc_channel *scc, unsigned char *name, int addev)
 {
- unsigned char *buf;
         struct net_device *dev;
 
         if (dev_get(name))
@@ -1569,13 +1568,8 @@
         dev = scc->dev;
         memset(dev, 0, sizeof(struct net_device));
 
- if ((buf = (unsigned char *) kmalloc(10, GFP_KERNEL)) == NULL)
- return -ENOMEM;
-
- strcpy(buf, name);
-
+ strcpy(dev->name, name);
         dev->priv = (void *) scc;
- dev->name = buf;
         dev->init = scc_net_init;
 
         if ((addev? register_netdevice(dev) : register_netdev(dev)) != 0)
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/soundmodem/sm.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/soundmodem/sm.c Thu May 4 05:45:48 2000
@@ -278,7 +278,7 @@
 
 /* --------------------------------------------------------------------- */
 
-static void sm_output_open(struct sm_state *sm)
+static void sm_output_open(struct sm_state *sm, const char *ifname)
 {
         enum uart u = c_uart_unknown;
         struct parport *pp = NULL;
@@ -306,7 +306,7 @@
                 else if ((~pp->modes) & (PARPORT_MODE_PCSPP | PARPORT_MODE_SAFEININT))
                         printk(KERN_WARNING "%s: parport at address 0x%x cannot be used\n", sm_drvname, sm->hdrv.ptt_out.pariobase);
                 else {
- sm->pardev = parport_register_device(pp, sm->hdrv.ifname, NULL, NULL, NULL, PARPORT_DEV_EXCL, NULL);
+ sm->pardev = parport_register_device(pp, ifname, NULL, NULL, NULL, PARPORT_DEV_EXCL, NULL);
                         if (!sm->pardev) {
                                 pp = NULL;
                                 printk(KERN_WARNING "%s: cannot register parport device (address 0x%x)\n", sm_drvname, sm->hdrv.ptt_out.pariobase);
@@ -393,7 +393,7 @@
         err = sm->hwdrv->open(dev, sm);
         if (err)
                 return err;
- sm_output_open(sm);
+ sm_output_open(sm, dev->name);
         MOD_INC_USE_COUNT;
         printk(KERN_INFO "%s: %s mode %s.%s at iobase 0x%lx irq %u dma %u dma2 %u\n",
                sm_drvname, sm->hwdrv->hw_name, sm->mode_tx->name,
@@ -641,7 +641,6 @@
         int i, j, found = 0;
         char set_hw = 1;
         struct sm_state *sm;
- char ifname[HDLCDRV_IFNAMELEN];
 
         printk(sm_drvinfo);
         /*
@@ -649,7 +648,7 @@
          */
         for (i = 0; i < NR_PORTS; i++) {
                 struct net_device *dev = sm_device+i;
- sprintf(ifname, "sm%d", i);
+ sprintf(dev->name, "sm%d", i);
 
                 if (!mode[i])
                         set_hw = 0;
@@ -672,7 +671,7 @@
                 }
                 if (!set_hw)
                         iobase[i] = irq[i] = 0;
- j = hdlcdrv_register_hdlcdrv(dev, &sm_ops, sizeof(struct sm_state), ifname, iobase[i], irq[i], dma[i]);
+ j = hdlcdrv_register_hdlcdrv(dev, &sm_ops, sizeof(struct sm_state), dev->name, iobase[i], irq[i], dma[i]);
                 if (!j) {
                         sm = (struct sm_state *)dev->priv;
                         sm->hdrv.ptt_out.dma2 = dma2[i];
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/hamradio/yam.c Mon Mar 13 09:50:16 2000
+++ linux/drivers/net/hamradio/yam.c Thu May 4 05:45:48 2000
@@ -116,7 +116,6 @@
         int iobase;
         int irq;
         int dupmode;
- char name[16];
 
         struct net_device dev;
 
@@ -793,7 +792,7 @@
         for (i = 0; i < NR_PORTS; i++) {
                 if (yam_ports[i].iobase == 0 || yam_ports[i].irq == 0)
                         continue;
- len += sprintf(buffer + len, "Device %s\n", yam_ports[i].name);
+ len += sprintf(buffer + len, "Device yam%d\n", i);
                 len += sprintf(buffer + len, " Up %d\n", netif_running(&yam_ports[i].dev));
                 len += sprintf(buffer + len, " Speed %u\n", yam_ports[i].bitrate);
                 len += sprintf(buffer + len, " IoBase 0x%x\n", yam_ports[i].iobase);
@@ -1148,7 +1147,7 @@
         memset(yam_ports, 0, sizeof(yam_ports));
 
         for (i = 0; i < NR_PORTS; i++) {
- sprintf(yam_ports[i].name, "yam%d", i);
+ sprintf(yam_ports[i].dev.name, "yam%d", i);
                 yam_ports[i].magic = YAM_MAGIC;
                 yam_ports[i].bitrate = DEFAULT_BITRATE;
                 yam_ports[i].baudrate = DEFAULT_BITRATE * 2;
@@ -1164,7 +1163,6 @@
                 dev = &yam_ports[i].dev;
 
                 dev->priv = &yam_ports[i];
- dev->name = yam_ports[i].name;
                 dev->base_addr = yam_ports[i].iobase;
                 dev->irq = yam_ports[i].irq;
                 dev->init = yam_probe;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/3c574_cs.c Mon Mar 13 11:09:10 2000
+++ linux/drivers/net/pcmcia/3c574_cs.c Thu May 4 05:45:50 2000
@@ -336,7 +336,7 @@
         dev->do_ioctl = &el3_ioctl;
         dev->set_multicast_list = &set_rx_mode;
         ether_setup(dev);
- dev->name = lp->node.dev_name;
+ strcpy(dev->name, lp->node.dev_name);
         dev->init = &tc574_init;
         dev->open = &el3_open;
         dev->stop = &el3_close;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/3c589_cs.c Sun Feb 20 21:59:27 2000
+++ linux/drivers/net/pcmcia/3c589_cs.c Thu May 4 05:45:51 2000
@@ -254,7 +254,7 @@
     dev->get_stats = &el3_get_stats;
     dev->set_multicast_list = &set_multicast_list;
     ether_setup(dev);
- dev->name = lp->node.dev_name;
+ strcpy(dev->name, lp->node.dev_name);
     dev->init = &tc589_init;
     dev->open = &el3_open;
     dev->stop = &el3_close;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/aironet4500_cs.c Fri Mar 10 09:43:04 2000
+++ linux/drivers/net/pcmcia/aironet4500_cs.c Thu May 4 05:45:51 2000
@@ -223,9 +223,9 @@
         dev->get_stats = &awc_get_stats;
 // dev->set_multicast_list = &awc_set_multicast_list;
 
- ether_setup(dev);
+ strcpy(dev->name, ((struct awc_private *)dev->priv)->node.dev_name);
 
- dev->name = ((struct awc_private *)dev->priv)->node.dev_name;
+ ether_setup(dev);
 
         dev->init = &awc_pcmcia_init;
         dev->open = &awc_pcmcia_open;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/fmvj18x_cs.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/pcmcia/fmvj18x_cs.c Thu May 4 05:45:51 2000
@@ -315,8 +315,8 @@
     dev->set_config = &fjn_config;
     dev->get_stats = &fjn_get_stats;
     dev->set_multicast_list = &set_rx_mode;
+ strcpy(dev->name, lp->node.dev_name);
     ether_setup(dev);
- dev->name = lp->node.dev_name;
     dev->init = &fmvj18x_init;
     dev->open = &fjn_open;
     dev->stop = &fjn_close;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/nmclan_cs.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/pcmcia/nmclan_cs.c Thu May 4 05:45:51 2000
@@ -534,8 +534,8 @@
     dev->set_config = &mace_config;
     dev->get_stats = &mace_get_stats;
     dev->set_multicast_list = &set_multicast_list;
+ strcpy(dev->name, lp->node.dev_name);
     ether_setup(dev);
- dev->name = lp->node.dev_name;
     dev->init = &nmclan_init;
     dev->open = &mace_open;
     dev->stop = &mace_close;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/smc91c92_cs.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/pcmcia/smc91c92_cs.c Thu May 4 05:45:52 2000
@@ -377,8 +377,8 @@
     dev->get_stats = &smc91c92_get_stats;
     dev->set_config = &s9k_config;
     dev->set_multicast_list = &set_rx_mode;
+ strcpy(dev->name, smc->node.dev_name);
     ether_setup(dev);
- dev->name = smc->node.dev_name;
     dev->init = &smc91c92_init;
     dev->open = &smc91c92_open;
     dev->stop = &smc91c92_close;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/pcmcia/xirc2ps_cs.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/pcmcia/xirc2ps_cs.c Thu May 4 05:45:52 2000
@@ -716,8 +716,8 @@
     dev->get_stats = &do_get_stats;
     dev->do_ioctl = &do_ioctl;
     dev->set_multicast_list = &set_multicast_list;
+ strcpy(dev->name, local->node.dev_name);
     ether_setup(dev);
- dev->name = local->node.dev_name;
     dev->init = &do_init;
     dev->open = &do_open;
     dev->stop = &do_stop;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/cycx_x25.c Wed May 3 18:46:46 2000
+++ linux/drivers/net/wan/cycx_x25.c Thu May 4 05:45:58 2000
@@ -422,7 +422,7 @@
         }
 
         /* prepare network device data space for registration */
- dev->name = chan->name;
+ strcpy(dev->name, chan->name);
         dev->init = if_init;
         dev->priv = chan;
 
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/lapbether.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/wan/lapbether.c Thu May 4 05:45:59 2000
@@ -441,7 +441,7 @@
         }
         
         dev->priv = (void *)lapbeth; /* pointer back */
- dev->name = buf;
+ strcpy(dev->name, buf);
         dev->init = lapbeth_dev_init;
 
         if (register_netdev(dev) != 0) {
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/lmc/lmc_main.c Tue Apr 25 17:52:01 2000
+++ linux/drivers/net/wan/lmc/lmc_main.c Thu May 4 05:46:01 2000
@@ -856,11 +856,6 @@
     /*
      * Switch to common hdlc%d naming. We name by type not by vendor
      */
-#if LINUX_VERSION_CODE < 0x20363
- dev->name = ((char *) (dev)) + sizeof (struct ppp_device);
-#else
- dev->name = ((char *) (dev)) + sizeof (struct net_device);
-#endif
     
     dev_alloc_name(dev, "hdlc%d");
 #else
@@ -868,7 +863,6 @@
      * GCOM uses LMC vendor name so that clients can know which card
      * to attach to.
      */
- dev->name = ((char *) (dev)) + sizeof (struct ppp_device);
     dev_alloc_name(dev, "lmc%d");
 #endif
 
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/sdla_chdlc.c Fri Apr 21 16:08:45 2000
+++ linux/drivers/net/wan/sdla_chdlc.c Thu May 4 05:45:59 2000
@@ -603,7 +603,7 @@
         chdlc_priv_area->mc = conf->mc;
 
         /* prepare network device data space for registration */
- dev->name = card->u.c.if_name;
+ strcpy(dev->name, card->u.c.if_name);
         dev->init = &if_init;
         dev->priv = chdlc_priv_area;
 
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/sdla_fr.c Fri Apr 21 16:08:45 2000
+++ linux/drivers/net/wan/sdla_fr.c Thu May 4 05:46:00 2000
@@ -814,7 +814,7 @@
         chan->transmit_length = 0;
 
         /* prepare network device data space for registration */
- dev->name = chan->name;
+ strcpy(dev->name, chan->name);
         dev->init = &if_init;
         dev->priv = chan;
 
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/sdla_ppp.c Fri Apr 21 16:08:45 2000
+++ linux/drivers/net/wan/sdla_ppp.c Thu May 4 05:46:00 2000
@@ -501,7 +501,7 @@
 
 
         /* prepare network device data space for registration */
- dev->name = card->u.p.if_name;
+ strcpy(dev->name, card->u.p.if_name);
         dev->init = &if_init;
         dev->priv = ppp_priv_area;
 
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/sdla_x25.c Sun Feb 13 18:20:21 2000
+++ linux/drivers/net/wan/sdla_x25.c Thu May 4 05:46:00 2000
@@ -464,7 +464,7 @@
         }
 
         /* prepare network device data space for registration */
- dev->name = chan->name;
+ strcpy(dev->name, chan->name);
         dev->init = &if_init;
         dev->priv = chan;
         return 0;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/net/wan/x25_asy.c Thu Feb 17 09:18:47 2000
+++ linux/drivers/net/wan/x25_asy.c Thu May 4 05:46:01 2000
@@ -32,7 +32,6 @@
 #include "x25_asy.h"
 
 typedef struct x25_ctrl {
- char if_name[8]; /* "xasy0\0" .. "xasy99999\0" */
         struct x25_asy ctrl; /* X.25 things */
         struct net_device dev; /* the device */
 } x25_asy_ctrl_t;
@@ -82,8 +81,7 @@
                 /* Initialize channel control data */
                 set_bit(SLF_INUSE, &slp->ctrl.flags);
                 slp->ctrl.tty = NULL;
- sprintf(slp->if_name, "x25asy%d", i);
- slp->dev.name = slp->if_name;
+ sprintf(slp->dev.name, "x25asy%d", i);
                 slp->dev.base_addr = i;
                 slp->dev.priv = (void*)&(slp->ctrl);
                 slp->dev.next = NULL;
--- /tmp/adam/linux-2.3.99-pre6.4/drivers/usb/plusb.c Fri Mar 10 16:18:34 2000
+++ linux/drivers/usb/plusb.c Thu May 4 05:46:59 2000
@@ -465,8 +465,7 @@
         if(!s->opened && s->net_dev.name) {
                 dbg("unregistering netdev: %s",s->net_dev.name);
                 unregister_netdev(&s->net_dev);
- kfree(s->net_dev.name);
- s->net_dev.name=NULL;
+ s->net_dev.name[0] = '\0';
         }
         
         dbg("plusb_disconnect: finished");
@@ -524,22 +523,15 @@
                 return NULL;
         }
 
- if(!s->net_dev.name) {
- s->net_dev.name=kmalloc(16, GFP_KERNEL);
-
- if(!s->net_dev.name || dev_alloc_name(&s->net_dev,"plusb%d")<0) {
- err("alloc name failed\n");
- return NULL;
- }
-
+ if(!s->net_dev.name[0]) {
+ strcpy(s->net_dev.name, "plusb%d");
                 s->net_dev.init=plusb_net_init;
                 s->net_dev.priv=s;
                 if(!register_netdev(&s->net_dev))
                         info("registered: %s", s->net_dev.name);
                 else {
                         err("register_netdev failed");
- kfree(s->net_dev.name);
- s->net_dev.name=NULL;
+ s->net_dev.name[0] = '\0';
                 }
         }
                 
@@ -598,11 +590,9 @@
         dbg("plusb_cleanup");
         for (u = 0; u < NRPLUSB; u++) {
                 plusb_t *s = &plusb[u];
- if(s->net_dev.name) {
+ if(s->net_dev.name[0]) {
                         dbg("unregistering netdev: %s",s->net_dev.name);
                         unregister_netdev(&s->net_dev);
- kfree(s->net_dev.name);
- s->net_dev.name=NULL;
                 }
         }
         usb_deregister (&plusb_driver);
--- /tmp/adam/linux-2.3.99-pre6.4/include/linux/hdlcdrv.h Fri Feb 11 08:47:40 2000
+++ linux/include/linux/hdlcdrv.h Thu May 4 06:15:43 2000
@@ -109,7 +109,6 @@
 #include <linux/spinlock.h>
 
 #define HDLCDRV_MAGIC 0x5ac6e778
-#define HDLCDRV_IFNAMELEN 6
 #define HDLCDRV_HDLCBUFFER 32 /* should be a power of 2 for speed reasons */
 #define HDLCDRV_BITBUFFER 256 /* should be a power of 2 for speed reasons */
 #undef HDLCDRV_LOOPBACK /* define for HDLC debugging purposes */
@@ -181,8 +180,6 @@
 
 struct hdlcdrv_state {
         int magic;
-
- char ifname[HDLCDRV_IFNAMELEN];
 
         const struct hdlcdrv_ops *ops;
 
--- /tmp/adam/linux-2.3.99-pre6.4/include/net/irda/irlan_common.h Tue Nov 2 17:07:08 1999
+++ linux/include/net/irda/irlan_common.h Thu May 4 06:25:18 2000
@@ -164,7 +164,6 @@
         queue_t q; /* Must be first */
 
         int magic;
- char ifname[9];
         struct net_device dev; /* Ethernet device structure*/
         struct enet_statistics stats;
 
--- /tmp/adam/linux-2.3.99-pre6.4/net/bridge/br_if.c Mon Feb 21 17:35:06 2000
+++ linux/net/bridge/br_if.c Thu May 4 05:48:55 2000
@@ -74,7 +74,7 @@
 
         b = &bridge_list;
         while ((br = *b) != NULL) {
- if (!strncmp(br->name, name, IFNAMSIZ))
+ if (!strncmp(br->dev.name, name, IFNAMSIZ))
                         return b;
 
                 b = &(br->next);
@@ -102,9 +102,8 @@
         memset(br, 0, sizeof(*br));
         dev = &br->dev;
 
- strncpy(br->name, name, IFNAMSIZ);
+ strncpy(dev->name, name, IFNAMSIZ);
         dev->priv = br;
- dev->name = br->name;
         ether_setup(dev);
         br_dev_setup(dev);
 
--- /tmp/adam/linux-2.3.99-pre6.4/net/bridge/br_private.h Tue Mar 21 23:38:26 2000
+++ linux/net/bridge/br_private.h Thu May 4 06:23:28 2000
@@ -82,7 +82,6 @@
         struct net_bridge *next;
         rwlock_t lock;
         struct net_bridge_port *port_list;
- char name[IFNAMSIZ];
         struct net_device dev;
         struct net_device_stats statistics;
         rwlock_t hash_lock;
--- /tmp/adam/linux-2.3.99-pre6.4/net/bridge/br_stp.c Mon Feb 21 17:35:06 2000
+++ linux/net/bridge/br_stp.c Thu May 4 05:48:55 2000
@@ -292,7 +292,7 @@
 /* called under bridge lock */
 void br_topology_change_detection(struct net_bridge *br)
 {
- printk(KERN_INFO "%s: topology change detected, ", br->name);
+ printk(KERN_INFO "%s: topology change detected, ", br->dev.name);
 
         if (br_is_root_bridge(br)) {
                 printk("propagating\n");
@@ -357,7 +357,7 @@
                         br_topology_change_detection(p->br);
 
                 printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
- p->br->name, p->port_no, p->dev->name, "blocking");
+ p->br->dev.name, p->port_no, p->dev->name, "blocking");
 
                 p->state = BR_STATE_BLOCKING;
                 br_timer_clear(&p->forward_delay_timer);
@@ -369,7 +369,7 @@
 {
         if (p->state == BR_STATE_BLOCKING) {
                 printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
- p->br->name, p->port_no, p->dev->name, "listening");
+ p->br->dev.name, p->port_no, p->dev->name, "listening");
 
                 p->state = BR_STATE_LISTENING;
                 br_timer_set(&p->forward_delay_timer, jiffies);
@@ -456,7 +456,7 @@
         if (p->state != BR_STATE_DISABLED &&
             br_is_designated_port(p)) {
                 printk(KERN_INFO "%s: received tcn bpdu on port %i(%s)\n",
- p->br->name, p->port_no, p->dev->name);
+ p->br->dev.name, p->port_no, p->dev->name);
 
                 br_topology_change_detection(p->br);
                 br_topology_change_acknowledge(p);
--- /tmp/adam/linux-2.3.99-pre6.4/net/bridge/br_stp_if.c Mon Feb 21 17:35:06 2000
+++ linux/net/bridge/br_stp_if.c Thu May 4 05:48:55 2000
@@ -103,7 +103,7 @@
 
         br = p->br;
         printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
- br->name, p->port_no, p->dev->name, "disabled");
+ br->dev.name, p->port_no, p->dev->name, "disabled");
 
         wasroot = br_is_root_bridge(br);
         br_become_designated_port(p);
--- /tmp/adam/linux-2.3.99-pre6.4/net/bridge/br_stp_timer.c Mon Feb 21 17:35:06 2000
+++ linux/net/bridge/br_stp_timer.c Thu May 4 05:48:55 2000
@@ -58,7 +58,7 @@
         int was_root;
 
         br = p->br;
- printk(KERN_INFO "%s: ", br->name);
+ printk(KERN_INFO "%s: ", br->dev.name);
         printk("neighbour ");
         dump_bridge_id(&p->designated_bridge);
         printk(" lost on port %i(%s)\n", p->port_no, p->dev->name);
@@ -82,13 +82,13 @@
 {
         if (p->state == BR_STATE_LISTENING) {
                 printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
- p->br->name, p->port_no, p->dev->name, "learning");
+ p->br->dev.name, p->port_no, p->dev->name, "learning");
 
                 p->state = BR_STATE_LEARNING;
                 br_timer_set(&p->forward_delay_timer, jiffies);
         } else if (p->state == BR_STATE_LEARNING) {
                 printk(KERN_INFO "%s: port %i(%s) entering %s state\n",
- p->br->name, p->port_no, p->dev->name, "forwarding");
+ p->br->dev.name, p->port_no, p->dev->name, "forwarding");
 
                 p->state = BR_STATE_FORWARDING;
                 if (br_is_designated_for_some_port(p->br))
@@ -99,7 +99,7 @@
 /* called under bridge lock */
 static void br_tcn_timer_expired(struct net_bridge *br)
 {
- printk(KERN_INFO "%s: retransmitting tcn bpdu\n", br->name);
+ printk(KERN_INFO "%s: retransmitting tcn bpdu\n", br->dev.name);
         br_transmit_tcn(br);
         br_timer_set(&br->tcn_timer, jiffies);
 }
--- /tmp/adam/linux-2.3.99-pre6.4/net/ipv4/ip_gre.c Fri Mar 17 10:56:20 2000
+++ linux/net/ipv4/ip_gre.c Thu May 4 05:48:56 2000
@@ -118,11 +118,11 @@
 static int ipgre_fb_tunnel_init(struct net_device *dev);
 
 static struct net_device ipgre_fb_tunnel_dev = {
- NULL, 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NULL, ipgre_fb_tunnel_init,
+ "gre%d", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NULL, ipgre_fb_tunnel_init,
 };
 
 static struct ip_tunnel ipgre_fb_tunnel = {
- NULL, &ipgre_fb_tunnel_dev, {0, }, 0, 0, 0, 0, 0, 0, 0, {"gre0", }
+ NULL, &ipgre_fb_tunnel_dev, {0, }, 0, 0, 0, 0, 0, 0, 0, {"gre%d", }
 };
 
 /* Tunnel hash table */
@@ -268,7 +268,7 @@
         dev->priv = (void*)(dev+1);
         nt = (struct ip_tunnel*)dev->priv;
         nt->dev = dev;
- dev->name = nt->parms.name;
+ strcpy(dev->name, nt->parms.name);
         dev->init = ipgre_tunnel_init;
         dev->new_style = 1;
         memcpy(&nt->parms, parms, sizeof(*parms));
@@ -1226,7 +1226,6 @@
         printk(KERN_INFO "GRE over IPv4 tunneling driver\n");
 
         ipgre_fb_tunnel_dev.priv = (void*)&ipgre_fb_tunnel;
- ipgre_fb_tunnel_dev.name = ipgre_fb_tunnel.parms.name;
 #ifdef MODULE
         register_netdev(&ipgre_fb_tunnel_dev);
 #else
--- /tmp/adam/linux-2.3.99-pre6.4/net/ipv4/ipip.c Tue Mar 21 23:38:27 2000
+++ linux/net/ipv4/ipip.c Thu May 4 05:48:57 2000
@@ -121,11 +121,11 @@
 static int ipip_tunnel_init(struct net_device *dev);
 
 static struct net_device ipip_fb_tunnel_dev = {
- NULL, 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NULL, ipip_fb_tunnel_init,
+ "tunl%d", 0x0, 0x0, 0x0, 0x0, 0, 0, 0, 0, 0, NULL, ipip_fb_tunnel_init,
 };
 
 static struct ip_tunnel ipip_fb_tunnel = {
- NULL, &ipip_fb_tunnel_dev, {0, }, 0, 0, 0, 0, 0, 0, 0, {"tunl0", }
+ NULL, &ipip_fb_tunnel_dev, {0, }, 0, 0, 0, 0, 0, 0, 0, {"tunl%d", }
 };
 
 static struct ip_tunnel *tunnels_r_l[HASH_SIZE];
@@ -237,7 +237,7 @@
         dev->priv = (void*)(dev+1);
         nt = (struct ip_tunnel*)dev->priv;
         nt->dev = dev;
- dev->name = nt->parms.name;
+ strcpy(dev->name, nt->parms.name);
         dev->init = ipip_tunnel_init;
         dev->new_style = 1;
         memcpy(&nt->parms, parms, sizeof(*parms));
@@ -875,7 +875,6 @@
         printk(KERN_INFO "IPv4 over IPv4 tunneling driver\n");
 
         ipip_fb_tunnel_dev.priv = (void*)&ipip_fb_tunnel;
- ipip_fb_tunnel_dev.name = ipip_fb_tunnel.parms.name;
 #ifdef MODULE
         register_netdev(&ipip_fb_tunnel_dev);
 #else
--- /tmp/adam/linux-2.3.99-pre6.4/net/ipv4/ipmr.c Wed May 3 18:46:47 2000
+++ linux/net/ipv4/ipmr.c Thu May 4 05:48:57 2000
@@ -189,7 +189,7 @@
         struct in_device *in_dev;
         int size;
 
- size = sizeof(*dev) + IFNAMSIZ + sizeof(struct net_device_stats);
+ size = sizeof(*dev) + sizeof(struct net_device_stats);
         dev = kmalloc(size, GFP_KERNEL);
         if (!dev)
                 return NULL;
@@ -197,7 +197,6 @@
         memset(dev, 0, size);
 
         dev->priv = dev + 1;
- dev->name = dev->priv + sizeof(struct net_device_stats);
 
         strcpy(dev->name, "pimreg");
 
--- /tmp/adam/linux-2.3.99-pre6.4/net/irda/irlan/irlan_client.c Thu Feb 17 09:18:47 2000
+++ linux/net/irda/irlan/irlan_client.c Thu May 4 05:49:03 2000
@@ -139,7 +139,7 @@
                  * down by the user
                  */
                 mgr_event.event = EVENT_IRLAN_START;
- sprintf(mgr_event.devname, "%s", self->ifname);
+ strcpy(mgr_event.devname, self->dev.name);
                 irmanager_notify(&mgr_event);
                 
                 /*
--- /tmp/adam/linux-2.3.99-pre6.4/net/irda/irlan/irlan_common.c Thu Feb 17 09:18:47 2000
+++ linux/net/irda/irlan/irlan_common.c Thu May 4 05:49:03 2000
@@ -124,7 +124,7 @@
                 IRDA_DEBUG(0, __FUNCTION__
                       "(), notifying irmanager to stop irlan!\n");
                 mgr_event.event = EVENT_IRLAN_STOP;
- sprintf(mgr_event.devname, "%s", self->ifname);
+ sprintf(mgr_event.devname, "%s", self->dev.name);
                 irmanager_notify(&mgr_event);
 
                 /*
@@ -234,10 +234,9 @@
         if (!eth) {
                 /* Get the first free irlan<x> name */
                 do {
- sprintf(self->ifname, "%s%d", "irlan", i++);
- } while (dev_get(self->ifname));
+ sprintf(self->dev.name, "%s%d", "irlan", i++);
+ } while (dev_get(self->dev.name));
         }
- self->dev.name = self->ifname;
         
         if (register_netdev(&self->dev) != 0) {
                 IRDA_DEBUG(2, __FUNCTION__ "(), register_netdev() failed!\n");
@@ -276,7 +275,7 @@
 
         ASSERT(irlan != NULL, return NULL;);
         
- sprintf(self->ifname, "%s", "unknown");
+ sprintf(self->dev.name, "%s", "unknown");
 
         self->dev.priv = (void *) self;
         self->dev.next = NULL;
@@ -1173,7 +1172,7 @@
                 /* Don't display the master server */
                 if (self->master == 0) {
                         len += sprintf(buf+len, "ifname: %s,\n",
- self->ifname);
+ self->dev.name);
                         len += sprintf(buf+len, "client state: %s, ",
                                        irlan_state[ self->client.state]);
                         len += sprintf(buf+len, "provider state: %s,\n",
--- /tmp/adam/linux-2.3.99-pre6.4/net/irda/irlan/irlan_eth.c Tue Mar 21 11:17:28 2000
+++ linux/net/irda/irlan/irlan_eth.c Thu May 4 05:49:03 2000
@@ -90,7 +90,7 @@
          * it, so it can be configured with network parameters
          */
         mgr_event.event = EVENT_IRLAN_START;
- sprintf(mgr_event.devname, "%s", self->ifname);
+ sprintf(mgr_event.devname, "%s", self->dev.name);
         irmanager_notify(&mgr_event);
 
         /*
--- /tmp/adam/linux-2.3.99-pre6.4/net/netrom/af_netrom.c Mon Apr 24 13:43:05 2000
+++ linux/net/netrom/af_netrom.c Thu May 4 05:49:04 2000
@@ -1281,12 +1281,6 @@
         memset(dev_nr, 0x00, nr_ndevs * sizeof(struct net_device));
 
         for (i = 0; i < nr_ndevs; i++) {
- dev_nr[i].name = kmalloc(20, GFP_KERNEL);
- if(dev_nr[i].name==NULL)
- {
- printk(KERN_ERR "Netrom: unable to register devices.\n");
- break;
- }
                 sprintf(dev_nr[i].name, "nr%d", i);
                 dev_nr[i].init = nr_init;
                 register_netdev(&dev_nr[i]);
--- /tmp/adam/linux-2.3.99-pre6.4/net/rose/af_rose.c Mon Apr 24 13:43:05 2000
+++ linux/net/rose/af_rose.c Thu May 4 05:49:05 2000
@@ -1453,12 +1453,6 @@
         memset(dev_rose, 0x00, rose_ndevs * sizeof(struct net_device));
 
         for (i = 0; i < rose_ndevs; i++) {
- dev_rose[i].name = kmalloc(20, GFP_KERNEL);
- if(dev_rose[i].name == NULL)
- {
- printk(KERN_ERR "Rose: unable to register ROSE devices.\n");
- break;
- }
                 sprintf(dev_rose[i].name, "rose%d", i);
                 dev_rose[i].init = rose_init;
                 register_netdev(&dev_rose[i]);
--- /tmp/adam/linux-2.3.99-pre6.4/net/sched/sch_teql.c Thu Feb 17 09:18:47 2000
+++ linux/net/sched/sch_teql.c Thu May 4 05:49:09 2000
@@ -70,7 +70,6 @@
         struct net_device dev;
         struct Qdisc *slaves;
         struct net_device_stats stats;
- char name[IFNAMSIZ];
 };
 
 struct teql_sched_data
@@ -469,11 +468,10 @@
         rtnl_lock();
 
         the_master.dev.priv = (void*)&the_master;
- the_master.dev.name = (void*)&the_master.name;
         err = dev_alloc_name(&the_master.dev, "teql%d");
         if (err < 0)
                 return err;
- memcpy(the_master.qops.id, the_master.name, IFNAMSIZ);
+ memcpy(the_master.qops.id, the_master.dev.name, IFNAMSIZ);
         the_master.dev.init = teql_master_init;
 
         err = register_netdevice(&the_master.dev);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:14 EST