]> git.baikalelectronics.ru Git - kernel.git/commitdiff
iio: Use an early return in iio_device_alloc to simplify code.
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 19 Apr 2020 15:13:37 +0000 (16:13 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 3 May 2020 08:47:18 +0000 (09:47 +0100)
Noticed whilst reviewing Alexandru's patch to the same function.
If we simply flip the logic and return NULL immediately after memory
allocation failure we reduce the indent of the following block and
end up with more 'idiomatic' kernel code.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
drivers/iio/industrialio-core.c

index 6add449b38bc80730798d58e9021d847e1cdd1b6..462d3e810013f22a3ce2d61eafc8513d5be68ac3 100644 (file)
@@ -1510,27 +1510,27 @@ struct iio_dev *iio_device_alloc(int sizeof_priv)
        alloc_size += IIO_ALIGN - 1;
 
        dev = kzalloc(alloc_size, GFP_KERNEL);
+       if (!dev)
+               return NULL;
 
-       if (dev) {
-               dev->dev.groups = dev->groups;
-               dev->dev.type = &iio_device_type;
-               dev->dev.bus = &iio_bus_type;
-               device_initialize(&dev->dev);
-               dev_set_drvdata(&dev->dev, (void *)dev);
-               mutex_init(&dev->mlock);
-               mutex_init(&dev->info_exist_lock);
-               INIT_LIST_HEAD(&dev->channel_attr_list);
-
-               dev->id = ida_simple_get(&iio_ida, 0, 0, GFP_KERNEL);
-               if (dev->id < 0) {
-                       /* cannot use a dev_err as the name isn't available */
-                       pr_err("failed to get device id\n");
-                       kfree(dev);
-                       return NULL;
-               }
-               dev_set_name(&dev->dev, "iio:device%d", dev->id);
-               INIT_LIST_HEAD(&dev->buffer_list);
+       dev->dev.groups = dev->groups;
+       dev->dev.type = &iio_device_type;
+       dev->dev.bus = &iio_bus_type;
+       device_initialize(&dev->dev);
+       dev_set_drvdata(&dev->dev, (void *)dev);
+       mutex_init(&dev->mlock);
+       mutex_init(&dev->info_exist_lock);
+       INIT_LIST_HEAD(&dev->channel_attr_list);
+
+       dev->id = ida_simple_get(&iio_ida, 0, 0, GFP_KERNEL);
+       if (dev->id < 0) {
+               /* cannot use a dev_err as the name isn't available */
+               pr_err("failed to get device id\n");
+               kfree(dev);
+               return NULL;
        }
+       dev_set_name(&dev->dev, "iio:device%d", dev->id);
+       INIT_LIST_HEAD(&dev->buffer_list);
 
        return dev;
 }