uml: Replace one-element array with zero-element array
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Sun, 6 May 2007 21:51:15 +0000 (14:51 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:13:02 +0000 (12:13 -0700)
To look at users I did:
$ find arch/um/ include/asm-um -name '*.[ch]'|xargs grep -r 'net_kern\.h'
+-l|xargs grep '\<user\>'

Most users just cast user to the appropriate pointer, the remaining ones are
fixed here.  In net_kern.c, I'm almost sure that save trick is not needed
anymore, but I've not verified it.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/drivers/net_kern.c
arch/um/include/net_kern.h

index 3f5e8e6343088bf35595dc11aafec64db05d1f72..b2c292a66218b8b6637a51e8bc8ff9df769b03cb 100644 (file)
@@ -347,10 +347,9 @@ static void eth_configure(int n, void *init, char *mac,
        struct uml_net *device;
        struct net_device *dev;
        struct uml_net_private *lp;
-       int save, err, size;
+       int err, size;
 
-       size = transport->private_size + sizeof(struct uml_net_private) +
-               sizeof(((struct uml_net_private *) 0)->user);
+       size = transport->private_size + sizeof(struct uml_net_private);
 
        device = kzalloc(sizeof(*device), GFP_KERNEL);
        if (device == NULL) {
@@ -409,12 +408,6 @@ static void eth_configure(int n, void *init, char *mac,
         */
        (*transport->kern->init)(dev, init);
 
-       /* lp.user is the first four bytes of the transport data, which
-        * has already been initialized.  This structure assignment will
-        * overwrite that, so we make sure that .user gets overwritten with
-        * what it already has.
-        */
-       save = lp->user[0];
        *lp = ((struct uml_net_private)
                { .list                 = LIST_HEAD_INIT(lp->list),
                  .dev                  = dev,
@@ -428,8 +421,7 @@ static void eth_configure(int n, void *init, char *mac,
                  .write                = transport->kern->write,
                  .add_address          = transport->user->add_address,
                  .delete_address       = transport->user->delete_address,
-                 .set_mtu              = transport->user->set_mtu,
-                 .user                 = { save } });
+                 .set_mtu              = transport->user->set_mtu });
 
        init_timer(&lp->tl);
        spin_lock_init(&lp->lock);
index 125ab42df18a4e53ec77319991df474a890092cc..9237056b91030cfa15eec7c183f08e8d50ebcc11 100644 (file)
@@ -40,7 +40,7 @@ struct uml_net_private {
        void (*add_address)(unsigned char *, unsigned char *, void *);
        void (*delete_address)(unsigned char *, unsigned char *, void *);
        int (*set_mtu)(int mtu, void *);
-       int user[1];
+       char user[0];
 };
 
 struct net_kern_info {