chiark / gitweb /
[PATCH] remove get_device_type and merge that into udev_set_values()
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Fri, 19 Nov 2004 02:50:05 +0000 (03:50 +0100)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 05:30:27 +0000 (22:30 -0700)
udev_lib.c
udev_lib.h
udevinfo.c

index a3fab96..d745c9b 100644 (file)
 #include "list.h"
 
 
-#define BLOCK_PATH             "/block/"
-#define CLASS_PATH             "/class/"
-#define NET_PATH               "/class/net/"
-
-char get_device_type(const char *path, const char *subsystem)
+void udev_set_values(struct udevice *udev, const char* devpath,
+                    const char *subsystem, const char* action)
 {
-       if (strcmp(subsystem, "block") == 0)
-               return 'b';
-
-       if (strcmp(subsystem, "net") == 0)
-               return 'n';
+       memset(udev, 0x00, sizeof(struct udevice));
+       if (devpath)
+               strfieldcpy(udev->devpath, devpath);
+       if (subsystem)
+               strfieldcpy(udev->subsystem, subsystem);
+       if (action)
+               strfieldcpy(udev->action, action);
 
-       if (strncmp(path, BLOCK_PATH, strlen(BLOCK_PATH)) == 0 &&
-           strlen(path) > strlen(BLOCK_PATH))
-               return 'b';
+       if (strcmp(udev->subsystem, "block") == 0)
+               udev->type = 'b';
 
-       if (strncmp(path, NET_PATH, strlen(NET_PATH)) == 0 &&
-           strlen(path) > strlen(NET_PATH))
-               return 'n';
+       if (strcmp(udev->subsystem, "net") == 0)
+               udev->type = 'n';
 
-       if (strncmp(path, CLASS_PATH, strlen(CLASS_PATH)) == 0 &&
-           strlen(path) > strlen(CLASS_PATH))
-               return 'c';
+       if (strncmp(udev->devpath, "/block/", 7) == 0)
+               udev->type = 'b';
 
-       return '\0';
-}
+       if (strncmp(udev->devpath, "/class/net/", 11) == 0)
+               udev->type = 'n';
 
-void udev_set_values(struct udevice *udev, const char* devpath,
-                    const char *subsystem, const char* action)
-{
-       memset(udev, 0x00, sizeof(struct udevice));
-       strfieldcpy(udev->devpath, devpath);
-       strfieldcpy(udev->subsystem, subsystem);
-       strfieldcpy(udev->action, action);
-       udev->type = get_device_type(devpath, subsystem);
+       if (strncmp(udev->devpath, "/class/", 7) == 0)
+               udev->type = 'c';
 }
 
 int kernel_release_satisfactory(int version, int patchlevel, int sublevel)
index 80dc49c..b9b0fda 100644 (file)
@@ -76,7 +76,6 @@ do { \
 # define asmlinkage    /* nothing */
 #endif
 
-extern char get_device_type(const char *path, const char *subsystem);
 extern void udev_set_values(struct udevice *udev, const char* devpath,
                            const char *subsystem, const char* action);
 extern int kernel_release_satisfactory(int version, int patchlevel, int sublevel);
index 097c91c..0130685 100644 (file)
@@ -125,10 +125,6 @@ static int print_device_chain(const char *path)
        struct sysfs_device *sysfs_dev;
        struct sysfs_device *sysfs_dev_parent;
        int retval = 0;
-       char type;
-
-       type = get_device_type(path, "");
-       dbg("device type is %c", type);
 
        /*  get the class dev */
        class_dev = sysfs_open_class_device_path(path);
@@ -144,16 +140,10 @@ static int print_device_chain(const char *path)
               "to match the device for which the node will be created.\n"
               "\n");
 
-       if (type == 'b' || type =='c') {
-               /* read the 'dev' file for major/minor*/
-               attr = sysfs_get_classdev_attr(class_dev, "dev");
-               if (attr == NULL) {
-                       printf("couldn't get the \"dev\" file\n");
-                       retval = -1;
-                       goto exit;
-               }
+       /* look for the 'dev' file */
+       attr = sysfs_get_classdev_attr(class_dev, "dev");
+       if (attr == NULL)
                printf("device '%s' has major:minor %s", class_dev->path, attr->value);
-       }
 
        /* open sysfs class device directory and print all attributes */
        printf("  looking at class device '%s':\n", class_dev->path);