1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-19 22:50:17 +03:00

[PATCH] remove get_device_type and merge that into udev_set_values()

This commit is contained in:
kay.sievers@vrfy.org 2004-11-19 03:50:05 +01:00 committed by Greg KH
parent 80513ea38f
commit fc2aa29613
3 changed files with 24 additions and 45 deletions

View File

@ -36,41 +36,31 @@
#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)
{
if (strcmp(subsystem, "block") == 0)
return 'b';
if (strcmp(subsystem, "net") == 0)
return 'n';
if (strncmp(path, BLOCK_PATH, strlen(BLOCK_PATH)) == 0 &&
strlen(path) > strlen(BLOCK_PATH))
return 'b';
if (strncmp(path, NET_PATH, strlen(NET_PATH)) == 0 &&
strlen(path) > strlen(NET_PATH))
return 'n';
if (strncmp(path, CLASS_PATH, strlen(CLASS_PATH)) == 0 &&
strlen(path) > strlen(CLASS_PATH))
return 'c';
return '\0';
}
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 (devpath)
strfieldcpy(udev->devpath, devpath);
if (subsystem)
strfieldcpy(udev->subsystem, subsystem);
if (action)
strfieldcpy(udev->action, action);
if (strcmp(udev->subsystem, "block") == 0)
udev->type = 'b';
if (strcmp(udev->subsystem, "net") == 0)
udev->type = 'n';
if (strncmp(udev->devpath, "/block/", 7) == 0)
udev->type = 'b';
if (strncmp(udev->devpath, "/class/net/", 11) == 0)
udev->type = 'n';
if (strncmp(udev->devpath, "/class/", 7) == 0)
udev->type = 'c';
}
int kernel_release_satisfactory(int version, int patchlevel, int sublevel)

View 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);

View 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);