From: Alexandru Ardelean Date: Tue, 7 Apr 2020 15:07:43 +0000 (+0300) Subject: iio: move 'indio_dev->info' null check first in __iio_device_register() X-Git-Tag: v5.10.7~2410^2~255^2~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a17cb784fcd7d54b8bca9792d83e5a7516d73d4e;p=platform%2Fkernel%2Flinux-rpi.git iio: move 'indio_dev->info' null check first in __iio_device_register() Moves this to be the first check, as it's very simple and fails the registration earlier, instead of potentially initializing the 'indio_dev->label' and checking for duplicate indexes, and then failing with this simple-check. This is a minor optimization, since '__iio_device_register()' will waste fewer validation cycles in case 'indio_dev->info' is NULL. Signed-off-by: Alexandru Ardelean Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c index 157d95a..56ff24d 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c @@ -1711,6 +1711,9 @@ int __iio_device_register(struct iio_dev *indio_dev, struct module *this_mod) { int ret; + if (!indio_dev->info) + return -EINVAL; + indio_dev->driver_module = this_mod; /* If the calling driver did not initialize of_node, do it here */ if (!indio_dev->dev.of_node && indio_dev->dev.parent) @@ -1723,9 +1726,6 @@ int __iio_device_register(struct iio_dev *indio_dev, struct module *this_mod) if (ret < 0) return ret; - if (!indio_dev->info) - return -EINVAL; - /* configure elements for the chrdev */ indio_dev->dev.devt = MKDEV(MAJOR(iio_devt), indio_dev->id);