From b18fb36bd3c7615733c351c99691e1139f386c0c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 5 Apr 2011 03:48:59 +0200 Subject: [PATCH] add a helper function for freeing a device --- device.c | 6 +++--- device.h | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/device.c b/device.c index 6b409a0..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); @@ -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; @@ -192,7 +192,7 @@ void remove_device_user(struct device_user *dep) if (list_empty(&dev->users)) { /* all references have gone away, remove this device */ - dev->type->free(dev); + free_device(dev); } dep->dev = NULL; diff --git a/device.h b/device.h index bfd044a..79aec32 100644 --- a/device.h +++ b/device.h @@ -82,6 +82,12 @@ struct device_hotplug_ops { int (*del)(struct device *main, struct device *member); }; +static inline void +free_device(struct device *dev) +{ + dev->type->free(dev); +} + void init_virtual_device(struct device *dev, const struct device_type *type, const char *name); int init_device(struct device *iface, const struct device_type *type, const char *ifname); void cleanup_device(struct device *iface); -- 2.11.0