]> git.baikalelectronics.ru Git - kernel.git/commitdiff
device-dax: Properly handle drivers without remove callback
authorUwe Kleine-König <uwe@kleine-koenig.org>
Fri, 5 Feb 2021 22:28:39 +0000 (23:28 +0100)
committerDan Williams <dan.j.williams@intel.com>
Wed, 17 Feb 2021 03:41:26 +0000 (19:41 -0800)
If all resources are allocated in .probe() using devm_ functions it
might make sense to not provide a .remove() callback. Then the right
thing is to just return success.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Link: https://lore.kernel.org/r/20210205222842.34896-3-uwe@kleine-koenig.org
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dax/bus.c

index 2b29728ec2fd76ea0e5ea552c855bc34f399b164..ef53da441c5d42a6fe142678bc9dc39e6b91cfe2 100644 (file)
@@ -178,8 +178,12 @@ static int dax_bus_remove(struct device *dev)
 {
        struct dax_device_driver *dax_drv = to_dax_drv(dev->driver);
        struct dev_dax *dev_dax = to_dev_dax(dev);
+       int ret = 0;
 
-       return dax_drv->remove(dev_dax);
+       if (dax_drv->remove)
+               ret = dax_drv->remove(dev_dax);
+
+       return ret;
 }
 
 static struct bus_type dax_bus_type = {