Merge master.kernel.org:/home/rmk/linux-2.6-mmc
[powerpc.git] / drivers / char / pcmcia / cm4000_cs.c
index 02114a0..eab5394 100644 (file)
@@ -149,7 +149,7 @@ struct cm4000_dev {
 #define        ZERO_DEV(dev)                                           \
        memset(&dev->atr_csum,0,                                \
                sizeof(struct cm4000_dev) -                     \
-               /*link*/ sizeof(struct pcmcia_device) -         \
+               /*link*/ sizeof(struct pcmcia_device *) -       \
                /*node*/ sizeof(dev_node_t) -                   \
                /*atr*/ MAX_ATR*sizeof(char) -                  \
                /*rbuf*/ 512*sizeof(char) -                     \
@@ -1981,10 +1981,6 @@ static int __init cmm_init(void)
        if (!cmm_class)
                return -1;
 
-       rc = pcmcia_register_driver(&cm4000_driver);
-       if (rc < 0)
-               return rc;
-
        major = register_chrdev(0, DEVICE_NAME, &cm4000_fops);
        if (major < 0) {
                printk(KERN_WARNING MODULE_NAME
@@ -1992,6 +1988,12 @@ static int __init cmm_init(void)
                return -1;
        }
 
+       rc = pcmcia_register_driver(&cm4000_driver);
+       if (rc < 0) {
+               unregister_chrdev(major, DEVICE_NAME);
+               return rc;
+       }
+
        return 0;
 }