]> Pileus Git - ~andy/linux/blobdiff - drivers/mfd/abx500-core.c
Merge remote-tracking branch 'spi/fix/xilinx' into spi-linus
[~andy/linux] / drivers / mfd / abx500-core.c
index 3714acb6145864611cd29fd314c7bfd9d0af5bfb..f3a15aa54d7bc0e9979996fab67f33d9696b1563 100644 (file)
@@ -36,7 +36,9 @@ int abx500_register_ops(struct device *dev, struct abx500_ops *ops)
 {
        struct abx500_device_entry *dev_entry;
 
-       dev_entry = kzalloc(sizeof(struct abx500_device_entry), GFP_KERNEL);
+       dev_entry = devm_kzalloc(dev,
+                                sizeof(struct abx500_device_entry),
+                                GFP_KERNEL);
        if (!dev_entry) {
                dev_err(dev, "register_ops kzalloc failed");
                return -ENOMEM;
@@ -54,12 +56,8 @@ void abx500_remove_ops(struct device *dev)
        struct abx500_device_entry *dev_entry, *tmp;
 
        list_for_each_entry_safe(dev_entry, tmp, &abx500_list, list)
-       {
-               if (dev_entry->dev == dev) {
+               if (dev_entry->dev == dev)
                        list_del(&dev_entry->list);
-                       kfree(dev_entry);
-               }
-       }
 }
 EXPORT_SYMBOL(abx500_remove_ops);