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:
parent
80513ea38f
commit
fc2aa29613
52
udev_lib.c
52
udev_lib.c
@ -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)
|
||||
|
@ -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);
|
||||
|
16
udevinfo.c
16
udevinfo.c
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user