ipack: Fail earlier for drivers without probe function
authorUwe Kleine-König <uwe@kleine-koenig.org>
Sun, 7 Feb 2021 21:55:55 +0000 (22:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Feb 2021 08:48:12 +0000 (09:48 +0100)
A driver without a probe function isn't useful as it can never be used.
Let registering such a driver fail already instead of failing every
binding.

This is only cosmetic as there is no ipack driver without a probe function.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Link: https://lore.kernel.org/r/20210207215556.96371-1-uwe@kleine-koenig.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ipack/ipack.c

index 9267a85..eabc4d0 100644 (file)
@@ -64,9 +64,6 @@ static int ipack_bus_probe(struct device *device)
        struct ipack_device *dev = to_ipack_dev(device);
        struct ipack_driver *drv = to_ipack_driver(device->driver);
 
-       if (!drv->ops->probe)
-               return -EINVAL;
-
        return drv->ops->probe(dev);
 }
 
@@ -252,6 +249,9 @@ EXPORT_SYMBOL_GPL(ipack_bus_unregister);
 int ipack_driver_register(struct ipack_driver *edrv, struct module *owner,
                          const char *name)
 {
+       if (!edrv->ops->probe)
+               return -EINVAL;
+
        edrv->driver.owner = owner;
        edrv->driver.name = name;
        edrv->driver.bus = &ipack_bus_type;