X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=device.c;h=57b0ac96ac2dade9eb7a83f828faadfa9741987b;hp=0efdba5c90d20e5abf76f90534c56a9e78dc4977;hb=b18fb36bd3c7615733c351c99691e1139f386c0c;hpb=cdc92e3fa1f188faecc0d97014866fe9a80d5570;ds=sidebyside diff --git a/device.c b/device.c index 0efdba5..57b0ac9 100644 --- a/device.c +++ b/device.c @@ -20,7 +20,7 @@ static void API_CTOR dev_init(void) avl_init(&devices, avl_strcmp, false, NULL); } -static void free_device(struct device *dev) +static void free_simple_device(struct device *dev) { cleanup_device(dev); free(dev); @@ -96,7 +96,7 @@ void init_virtual_device(struct device *dev, const struct device_type *type, con if (name) strncpy(dev->ifname, name, IFNAMSIZ); - fprintf(stderr, "Initialize interface '%s'\n", dev->ifname); + fprintf(stderr, "Initialize device '%s'\n", dev->ifname); INIT_LIST_HEAD(&dev->users); dev->type = type; } @@ -126,7 +126,7 @@ struct device *get_device(const char *name, bool create) static const struct device_type simple_type = { .name = "Device", .check_state = system_if_check, - .free = free_device, + .free = free_simple_device, }; struct device *dev; @@ -151,7 +151,7 @@ void cleanup_device(struct device *dev) { struct device_user *dep, *tmp; - fprintf(stderr, "Clean up interface '%s'\n", dev->ifname); + fprintf(stderr, "Clean up device '%s'\n", dev->ifname); list_for_each_entry_safe(dep, tmp, &dev->users, list) { if (!dep->cb) continue; @@ -191,8 +191,8 @@ void remove_device_user(struct device_user *dep) list_del(&dep->list); if (list_empty(&dev->users)) { - /* all references have gone away, remove this interface */ - dev->type->free(dev); + /* all references have gone away, remove this device */ + free_device(dev); } dep->dev = NULL;