From: kay.sievers@vrfy.org Date: Fri, 11 Feb 2005 17:33:40 +0000 (+0100) Subject: [PATCH] namedev: move some matches out of the parent loop X-Git-Tag: 054~23 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=03a9875bc3ed3c0da226c31e6fe2590a862f6bfe;hp=82b1698314f004b9d69a14c5054e5f7699aa33ad [PATCH] namedev: move some matches out of the parent loop --- diff --git a/namedev.c b/namedev.c index bbc5b4006..c8e24db54 100644 --- a/namedev.c +++ b/namedev.c @@ -582,29 +582,29 @@ static int match_place(struct config_device *dev, struct sysfs_class_device *cla static int match_rule(struct udevice *udev, struct config_device *dev, struct sysfs_class_device *class_dev, struct sysfs_device *sysfs_device) { - while (1) { - /* check for matching kernel name */ - if (dev->kernel[0] != '\0') { - dbg("check for " FIELD_KERNEL " dev->kernel='%s' class_dev->name='%s'", - dev->kernel, class_dev->name); - if (strcmp_pattern(dev->kernel, class_dev->name) != 0) { - dbg(FIELD_KERNEL " is not matching"); - goto exit; - } - dbg(FIELD_KERNEL " matches"); + /* check for matching kernel name */ + if (dev->kernel[0] != '\0') { + dbg("check for " FIELD_KERNEL " dev->kernel='%s' class_dev->name='%s'", + dev->kernel, class_dev->name); + if (strcmp_pattern(dev->kernel, class_dev->name) != 0) { + dbg(FIELD_KERNEL " is not matching"); + goto exit; } + dbg(FIELD_KERNEL " matches"); + } - /* check for matching subsystem */ - if (dev->subsystem[0] != '\0') { - dbg("check for " FIELD_SUBSYSTEM " dev->subsystem='%s' class_dev->name='%s'", - dev->subsystem, class_dev->name); - if (strcmp_pattern(dev->subsystem, udev->subsystem) != 0) { - dbg(FIELD_SUBSYSTEM " is not matching"); - goto exit; - } - dbg(FIELD_SUBSYSTEM " matches"); + /* check for matching subsystem */ + if (dev->subsystem[0] != '\0') { + dbg("check for " FIELD_SUBSYSTEM " dev->subsystem='%s' class_dev->name='%s'", + dev->subsystem, class_dev->name); + if (strcmp_pattern(dev->subsystem, udev->subsystem) != 0) { + dbg(FIELD_SUBSYSTEM " is not matching"); + goto exit; } + dbg(FIELD_SUBSYSTEM " matches"); + } + while (1) { /* check for matching driver */ if (dev->driver[0] != '\0') { dbg("check for " FIELD_DRIVER " dev->driver='%s' sysfs_device->driver_name='%s'",