leds: use dev_get_platdata()
[linux-2.6-microblaze.git] / drivers / mfd / janz-cmodio.c
index 45ece11..fcbb2e9 100644 (file)
@@ -183,11 +183,10 @@ static int cmodio_pci_probe(struct pci_dev *dev,
        struct cmodio_device *priv;
        int ret;
 
-       priv = kzalloc(sizeof(*priv), GFP_KERNEL);
+       priv = devm_kzalloc(&dev->dev, sizeof(*priv), GFP_KERNEL);
        if (!priv) {
                dev_err(&dev->dev, "unable to allocate private data\n");
-               ret = -ENOMEM;
-               goto out_return;
+               return -ENOMEM;
        }
 
        pci_set_drvdata(dev, priv);
@@ -197,7 +196,7 @@ static int cmodio_pci_probe(struct pci_dev *dev,
        ret = pci_enable_device(dev);
        if (ret) {
                dev_err(&dev->dev, "unable to enable device\n");
-               goto out_free_priv;
+               return ret;
        }
 
        pci_set_master(dev);
@@ -248,9 +247,7 @@ out_pci_release_regions:
        pci_release_regions(dev);
 out_pci_disable_device:
        pci_disable_device(dev);
-out_free_priv:
-       kfree(priv);
-out_return:
+
        return ret;
 }
 
@@ -263,7 +260,6 @@ static void cmodio_pci_remove(struct pci_dev *dev)
        iounmap(priv->ctrl);
        pci_release_regions(dev);
        pci_disable_device(dev);
-       kfree(priv);
 }
 
 #define PCI_VENDOR_ID_JANZ             0x13c3