X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fudev.c;h=330b286848513d47e68f769c64c7dfaeedf8bcc4;hp=525e4a93649f7ec215a26f04f6b86fac62b03b12;hb=4c223e2bce76adb831708fb557b826d731ae75ed;hpb=478d08edd798815929729a17b4c34a9ebb9b559e diff --git a/discover/udev.c b/discover/udev.c index 525e4a9..330b286 100644 --- a/discover/udev.c +++ b/discover/udev.c @@ -50,23 +50,18 @@ static int udev_destructor(void *p) return 0; } -static void print_device_properties(struct udev_device *dev) +static void udev_setup_event_params(struct udev_device *dev, + struct event *event) { struct udev_list_entry *list, *entry; - assert(dev); - - if (1) { - list = udev_device_get_properties_list_entry(dev); - - assert(list); + list = udev_device_get_properties_list_entry(dev); + if (!list) + return; - udev_list_entry_foreach(entry, list) - DBG("property: %s - %s\n", - udev_list_entry_get_name(entry), - udev_device_get_property_value(dev, - udev_list_entry_get_name(entry))); - } + udev_list_entry_foreach(entry, list) + event_set_param(event,udev_list_entry_get_name(entry), + udev_list_entry_get_value(entry)); } static int udev_handle_dev_action(struct udev_device *dev, const char *action) @@ -102,8 +97,6 @@ static int udev_handle_dev_action(struct udev_device *dev, const char *action) return -1; } - print_device_properties(dev); - /* Ignore non disk or partition, ram, loop. */ if (!(strstr(devtype, "disk") || strstr(devtype, "partition")) @@ -128,12 +121,13 @@ static int udev_handle_dev_action(struct udev_device *dev, const char *action) event->type = EVENT_TYPE_UDEV; event->action = eva; - event->device = devpath; + event->device = devnode; + + event->n_params = 0; + event->params = NULL; + event_set_param(event, "DEVNAME", devnode); - event->n_params = 1; - event->params = talloc(event, struct param); - event->params->name = "DEVNAME"; - event->params->value = devnode; + udev_setup_event_params(dev, event); udev = udev_get_userdata(udev_device_get_udev(dev)); assert(udev); @@ -305,7 +299,7 @@ struct pb_udev *udev_init(struct waitset *waitset, waiter_register(waitset, udev_monitor_get_fd(udev->monitor), WAIT_IN, udev_process, udev->monitor); - pb_log("%s: waiting on %s\n", __func__, udev_get_sys_path(udev->udev)); + pb_log("%s: waiting on udev\n", __func__); return udev;