chiark / gitweb /
[PATCH] namedev: move some matches out of the parent loop
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Fri, 11 Feb 2005 17:33:40 +0000 (18:33 +0100)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 06:36:12 +0000 (23:36 -0700)
namedev.c

index bbc5b40069d552179c90768417827e6adb3a0bfb..c8e24db548c5c9792b31629dbe2fae55b82f6176 100644 (file)
--- 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)
 {
 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'",
                /* check for matching driver */
                if (dev->driver[0] != '\0') {
                        dbg("check for " FIELD_DRIVER " dev->driver='%s' sysfs_device->driver_name='%s'",