summaryrefslogtreecommitdiff
path: root/namedev.c
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2005-02-21 14:48:12 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 23:36:13 -0700
commit9ed47a9f2186b67c0127049fdb4886284bc8a33d (patch)
treed2259fcad074c749d7a7bd018ad53fed3ba1795c /namedev.c
parent69f57c6a2b94ae3b70a0ca43b46c30f8dce0a295 (diff)
[PATCH] move kernel name/number evaluation into udev_init_device()
Diffstat (limited to 'namedev.c')
-rw-r--r--namedev.c33
1 files changed, 4 insertions, 29 deletions
diff --git a/namedev.c b/namedev.c
index a5c711bdf6..0463d4df0b 100644
--- a/namedev.c
+++ b/namedev.c
@@ -343,19 +343,6 @@ static void apply_format(struct udevice *udev, char *string, size_t maxsize,
}
}
-static void fix_kernel_name(struct udevice *udev)
-{
- char *temp = udev->kernel_name;
-
- while (*temp != 0x00) {
- /* Some block devices have a ! in their name,
- * we need to change that to / */
- if (*temp == '!')
- *temp = '/';
- ++temp;
- }
-}
-
static int execute_program(struct udevice *udev, const char *path, char *value, int len)
{
int retval;
@@ -549,8 +536,8 @@ static int match_id(struct config_device *dev, struct sysfs_class_device *class_
dbg("search '%s' in '%s', path='%s'", dev->id, temp, path);
if (strcmp_pattern(dev->id, temp) != 0)
return -ENODEV;
- else
- return 0;
+
+ return 0;
}
static int match_place(struct config_device *dev, struct sysfs_class_device *class_dev, struct sysfs_device *sysfs_device)
@@ -582,7 +569,6 @@ 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)
{
- /* 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);
@@ -593,7 +579,6 @@ static int match_rule(struct udevice *udev, struct config_device *dev,
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);
@@ -710,7 +695,6 @@ int namedev_name_device(struct udevice *udev, struct sysfs_class_device *class_d
struct sysfs_class_device *class_dev_parent;
struct sysfs_device *sysfs_device = NULL;
struct config_device *dev;
- char *pos;
dbg("class_dev->name='%s'", class_dev->name);
@@ -733,16 +717,7 @@ int namedev_name_device(struct udevice *udev, struct sysfs_class_device *class_d
strfieldcpy(udev->bus_id, sysfs_device->bus_id);
}
- strfieldcpy(udev->kernel_name, class_dev->name);
- fix_kernel_name(udev);
- dbg("udev->kernel_name = '%s'", udev->kernel_name);
-
- /* get kernel number */
- pos = class_dev->name + strlen(class_dev->name);
- while (isdigit(*(pos-1)))
- pos--;
- strfieldcpy(udev->kernel_number, pos);
- dbg("kernel_number='%s'", udev->kernel_number);
+ dbg("udev->kernel_name='%s'", udev->kernel_name);
/* look for a matching rule to apply */
list_for_each_entry(dev, &config_device_list, node) {
@@ -781,7 +756,7 @@ int namedev_name_device(struct udevice *udev, struct sysfs_class_device *class_d
dbg("applied group='%s' to '%s'", udev->group, udev->kernel_name);
}
- /* collect symlinks for this or the final matching rule */
+ /* collect symlinks */
if (dev->symlink[0] != '\0') {
char temp[NAME_SIZE];