netifd: Code style line/clean up
[project/netifd.git] / interface.c
index 5649324..9c208a2 100644 (file)
@@ -746,6 +746,37 @@ interface_add_link(struct interface *iface, struct device *dev)
 }
 
 int
+interface_handle_link(struct interface *iface, const char *name, bool add)
+{
+       struct device *dev;
+       int ret;
+
+       device_lock();
+
+       dev = device_get(name, add ? 2 : 0);
+       if (!dev) {
+               ret = UBUS_STATUS_NOT_FOUND;
+               goto out;
+       }
+
+       if (add) {
+               device_set_present(dev, true);
+               if (iface->device_config)
+                       device_set_config(dev, &simple_device_type, iface->config);
+
+               system_if_apply_settings(dev, &dev->settings);
+               ret = interface_add_link(iface, dev);
+       } else {
+               ret = interface_remove_link(iface, dev);
+       }
+
+out:
+       device_unlock();
+
+       return ret;
+}
+
+int
 interface_set_up(struct interface *iface)
 {
        int ret;
@@ -887,7 +918,7 @@ interface_change_config(struct interface *if_old, struct interface *if_new)
 #undef UPDATE
 
        if (reload) {
-               D(INTERFACE, "Reload interface '%s because of config changes\n",
+               D(INTERFACE, "Reload interface '%s' because of config changes\n",
                  if_old->name);
                interface_clear_errors(if_old);
                set_config_state(if_old, IFC_RELOAD);