udev: ifdef all firmware special handling

This commit is contained in:
Kay Sievers 2013-03-18 15:22:32 +01:00
parent a3bd8447be
commit 61e536e1b7

View file

@ -98,7 +98,9 @@ struct event {
dev_t devnum;
int ifindex;
bool is_block;
#ifdef ENABLE_FIRMWARE
bool nodelay;
#endif
};
static inline struct event *node_to_event(struct udev_list_node *node)
@ -442,8 +444,10 @@ static int event_queue_insert(struct udev_device *dev)
event->devnum = udev_device_get_devnum(dev);
event->is_block = streq("block", udev_device_get_subsystem(dev));
event->ifindex = udev_device_get_ifindex(dev);
#ifdef ENABLE_FIRMWARE
if (streq(udev_device_get_subsystem(dev), "firmware"))
event->nodelay = true;
#endif
udev_queue_export_device_queued(udev_queue_export, dev);
log_debug("seq %llu queued, '%s' '%s'\n", udev_device_get_seqnum(dev),
@ -523,9 +527,11 @@ static bool is_devpath_busy(struct event *event)
return true;
}
#ifdef ENABLE_FIRMWARE
/* allow to bypass the dependency tracking */
if (event->nodelay)
continue;
#endif
/* parent device event found */
if (event->devpath[common] == '/') {