summaryrefslogtreecommitdiffstats
path: root/discover/device-handler.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-09-18 11:49:14 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-09-19 13:12:40 +0800
commite52b37c27c267c882d82cd1e34412817b5a4dbce (patch)
tree90e9283ff3ab0c16c59f90adfa38d40771773123 /discover/device-handler.c
parentbad9baa8794ed0c31b7f93b110815d98db7b2d7a (diff)
downloadtalos-petitboot-e52b37c27c267c882d82cd1e34412817b5a4dbce.tar.gz
talos-petitboot-e52b37c27c267c882d82cd1e34412817b5a4dbce.zip
discover: Consolidate device path, name and ID.
This change cleans up our usage of device path, names and IDs. Device ID is the kernel name for the device. We also expose this through lookup_by_name. Device path is the path to the dev node (ie, always starts with /dev/), and is only used for mounting. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'discover/device-handler.c')
-rw-r--r--discover/device-handler.c35
1 files changed, 7 insertions, 28 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index 11fb115..7a84302 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -86,11 +86,6 @@ struct discover_boot_option *discover_boot_option_create(
return opt;
}
-static int device_match_path(struct discover_device *dev, const char *path)
-{
- return dev->device_path && !strcmp(dev->device_path, path);
-}
-
static int device_match_uuid(struct discover_device *dev, const char *uuid)
{
return dev->uuid && !strcmp(dev->uuid, uuid);
@@ -130,26 +125,10 @@ static struct discover_device *device_lookup(
struct discover_device *device_lookup_by_name(struct device_handler *handler,
const char *name)
{
- struct discover_device *dev;
- char *path;
-
- if (strncmp(name, "/dev/", strlen("/dev/")))
- path = talloc_asprintf(NULL, "/dev/%s", name);
- else
- path = talloc_strdup(NULL, name);
-
- dev = device_lookup_by_path(handler, path);
+ if (!strncmp(name, "/dev/", strlen("/dev/")))
+ name += strlen("/dev/");
- talloc_free(path);
-
- return dev;
-}
-
-struct discover_device *device_lookup_by_path(
- struct device_handler *device_handler,
- const char *path)
-{
- return device_lookup(device_handler, device_match_path, path);
+ return device_lookup_by_id(handler, name);
}
struct discover_device *device_lookup_by_uuid(
@@ -331,7 +310,7 @@ static struct discover_device *discover_device_create(
struct event *event)
{
struct discover_device *dev;
- const char *devname;
+ const char *devnode;
dev = find_device(handler, event->device);
if (dev)
@@ -341,9 +320,9 @@ static struct discover_device *discover_device_create(
dev->device = talloc_zero(dev, struct device);
list_init(&dev->boot_options);
- devname = event_get_param(ctx->event, "DEVNAME");
- if (devname)
- dev->device_path = talloc_strdup(dev, devname);
+ devnode = event_get_param(ctx->event, "node");
+ if (devnode)
+ dev->device_path = talloc_strdup(dev, devnode);
dev->device->id = talloc_strdup(dev, event->device);
dev->device->type = event_device_type(dev->device, event);
OpenPOWER on IntegriCloud