+ struct device *dev;
+
+ if (iface->ifname && iface->proto_handler &&
+ !(iface->proto_handler->flags & PROTO_FLAG_NODEV)) {
+ dev = device_get(iface->ifname, true);
+ if (dev)
+ device_add_user(&iface->main_dev, dev);
+ }
+ if (iface->proto_handler->flags & PROTO_FLAG_INIT_AVAILABLE)
+ interface_set_available(iface, true);
+}
+
+
+static void
+interface_cleanup(struct interface *iface)
+{
+ struct interface_user *dep, *tmp;
+
+ list_for_each_entry_safe(dep, tmp, &iface->users, list)
+ interface_remove_user(dep);
+
+ interface_ip_flush(&iface->config_ip);
+ interface_flush_state(iface);
+ interface_clear_errors(iface);