Pull sbs into release branch
[pandora-kernel.git] / drivers / sn / ioc3.c
index cd6b653..29fcd6d 100644 (file)
@@ -629,7 +629,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
 #endif
 
        /* Set up per-IOC3 data */
-       idd = kmalloc(sizeof(struct ioc3_driver_data), GFP_KERNEL);
+       idd = kzalloc(sizeof(struct ioc3_driver_data), GFP_KERNEL);
        if (!idd) {
                printk(KERN_WARNING
                       "%s: Failed to allocate IOC3 data for pci_dev %s.\n",
@@ -637,7 +637,6 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
                ret = -ENODEV;
                goto out_idd;
        }
-       memset(idd, 0, sizeof(struct ioc3_driver_data));
        spin_lock_init(&idd->ir_lock);
        spin_lock_init(&idd->gpio_lock);
        idd->pdev = pdev;
@@ -654,7 +653,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
                ret = -ENODEV;
                goto out_pci;
        }
-       if (!request_region(idd->pma, IOC3_PCI_SIZE, "ioc3")) {
+       if (!request_mem_region(idd->pma, IOC3_PCI_SIZE, "ioc3")) {
                printk(KERN_WARNING
                       "%s: Unable to request IOC3 region "
                       "for pci_dev %s.\n",
@@ -744,7 +743,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
        return 0;
 
 out_misc_region:
-       release_region(idd->pma, IOC3_PCI_SIZE);
+       release_mem_region(idd->pma, IOC3_PCI_SIZE);
 out_pci:
        kfree(idd);
 out_idd:
@@ -785,7 +784,7 @@ static void ioc3_remove(struct pci_dev *pdev)
        if(idd->dual_irq)
                free_irq(idd->irq_eth, (void *)idd);
        iounmap(idd->vma);
-       release_region(idd->pma, IOC3_PCI_SIZE);
+       release_mem_region(idd->pma, IOC3_PCI_SIZE);
 
        /* Disable IOC3 and relinquish */
        pci_disable_device(pdev);