lkml.org 
[lkml]   [2005]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH] Driver core: Fix up the driver and device iterators to be quieter
    Date
    From
    [PATCH] Driver core: Fix up the driver and device iterators to be quieter

    Also stops looping over the lists when a match is found.

    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de

    ---
    commit b86c1df1f98d16c999423a3907eb40a9423f481e
    tree 02cf0b54f3c1d9b987268f2d4737af1a67dd4056
    parent d0e2b4a0a9dd3eed71b56c47268bf4e40cff6d0f
    author gregkh@suse.de <gregkh@suse.de> Thu, 31 Mar 2005 12:53:00 -0800
    committer Greg Kroah-Hartman <gregkh@suse.de> Mon, 20 Jun 2005 15:15:27 -0700

    drivers/base/dd.c | 32 +++++++++++++++++++-------------
    1 files changed, 19 insertions(+), 13 deletions(-)

    diff --git a/drivers/base/dd.c b/drivers/base/dd.c
    --- a/drivers/base/dd.c
    +++ b/drivers/base/dd.c
    @@ -88,20 +88,23 @@ static int __device_attach(struct device
    int error;

    error = driver_probe_device(drv, dev);
    -
    - if (error == -ENODEV && error == -ENXIO) {
    - /* Driver matched, but didn't support device
    - * or device not found.
    - * Not an error; keep going.
    - */
    - error = 0;
    - } else {
    - /* driver matched but the probe failed */
    - printk(KERN_WARNING
    - "%s: probe of %s failed with error %d\n",
    - drv->name, dev->bus_id, error);
    + if (error) {
    + if ((error == -ENODEV) || (error == -ENXIO)) {
    + /* Driver matched, but didn't support device
    + * or device not found.
    + * Not an error; keep going.
    + */
    + error = 0;
    + } else {
    + /* driver matched but the probe failed */
    + printk(KERN_WARNING
    + "%s: probe of %s failed with error %d\n",
    + drv->name, dev->bus_id, error);
    + }
    + return error;
    }
    - return 0;
    + /* stop looking, this device is attached */
    + return 1;
    }

    /**
    @@ -137,7 +140,10 @@ static int __driver_attach(struct device
    drv->name, dev->bus_id, error);
    } else
    error = 0;
    + return error;
    }
    + /* stop looking, this driver is attached */
    + return 1;
    }
    return 0;
    }
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-06-21 01:32    [W:0.024 / U:59.264 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site