msize = length;
                }
 
-               mtd = kmalloc(sizeof(struct mtd_info), GFP_KERNEL);
+               mtd = kzalloc(sizeof(struct mtd_info), GFP_KERNEL);
                if (!mtd) {
                        printk(KERN_NOTICE "pmc551: Cannot allocate new MTD "
                                "device.\n");
                        break;
                }
 
-               memset(mtd, 0, sizeof(struct mtd_info));
-
-               priv = kmalloc(sizeof(struct mypriv), GFP_KERNEL);
+               priv = kzalloc(sizeof(struct mypriv), GFP_KERNEL);
                if (!priv) {
                        printk(KERN_NOTICE "pmc551: Cannot allocate new MTD "
                                "device.\n");
                        kfree(mtd);
                        break;
                }
-               memset(priv, 0, sizeof(*priv));
                mtd->priv = priv;
                priv->dev = PCI_Device;