[PATCH] driver core: use *switch* statement in really_probe()

From: Sergei Shtylyov
Date: Sat Jan 17 2015 - 14:15:01 EST


There are series of comparisons of the 'ret' variable on the failure path of
really_probe(), so the *switch* statement seems more appropriate there.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx>

---
The patch is against the 'driver-core-next' branch of Greg KH's 'driver-core.git'
repo.

drivers/base/dd.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

Index: driver-core/drivers/base/dd.c
===================================================================
--- driver-core.orig/drivers/base/dd.c
+++ driver-core/drivers/base/dd.c
@@ -320,21 +320,25 @@ probe_failed:
dev->driver = NULL;
dev_set_drvdata(dev, NULL);

- if (ret == -EPROBE_DEFER) {
+ switch (ret) {
+ case -EPROBE_DEFER:
/* Driver requested deferred probing */
dev_info(dev, "Driver %s requests probe deferral\n", drv->name);
driver_deferred_probe_add(dev);
/* Did a trigger occur while probing? Need to re-trigger if yes */
if (local_trigger_count != atomic_read(&deferred_trigger_count))
driver_deferred_probe_trigger();
- } else if (ret != -ENODEV && ret != -ENXIO) {
+ break;
+ case -ENODEV:
+ case -ENXIO:
+ pr_debug("%s: probe of %s rejects match %d\n",
+ drv->name, dev_name(dev), ret);
+ break;
+ default:
/* driver matched but the probe failed */
printk(KERN_WARNING
"%s: probe of %s failed with error %d\n",
drv->name, dev_name(dev), ret);
- } else {
- pr_debug("%s: probe of %s rejects match %d\n",
- drv->name, dev_name(dev), ret);
}
/*
* Ignore errors returned by ->probe so that the next driver can try

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/