+static int udev_hotplug(void)
+{
+ char *action;
+ char *devpath;
+ char *subsystem;
+
+ action = get_action();
+ if (!action) {
+ dbg("no action?");
+ return -EINVAL;
+ }
+
+ devpath = get_devpath();
+ if (!devpath) {
+ dbg("no devpath?");
+ return -EINVAL;
+ }
+
+ /* skip blacklisted subsystems */
+ subsystem = get_subsystem(main_argv[1]);
+ if (!subsystem) {
+ dbg("no subsystem?");
+ return -EINVAL;
+ }
+
+ return __udev_hotplug(action, devpath, subsystem);
+}
+