projects
/
project
/
netifd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6443a38
)
add a helper function for freeing a device
author
Felix Fietkau
<nbd@openwrt.org>
Tue, 5 Apr 2011 01:48:59 +0000
(
03:48
+0200)
committer
Felix Fietkau
<nbd@openwrt.org>
Tue, 5 Apr 2011 01:48:59 +0000
(
03:48
+0200)
device.c
patch
|
blob
|
history
device.h
patch
|
blob
|
history
diff --git
a/device.c
b/device.c
index
6b409a0
..
57b0ac9
100644
(file)
--- a/
device.c
+++ b/
device.c
@@
-20,7
+20,7
@@
static void API_CTOR dev_init(void)
avl_init(&devices, avl_strcmp, false, NULL);
}
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);
{
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,
static const struct device_type simple_type = {
.name = "Device",
.check_state = system_if_check,
- .free = free_device,
+ .free = free_
simple_
device,
};
struct device *dev;
};
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 */
if (list_empty(&dev->users)) {
/* all references have gone away, remove this device */
-
dev->type->fre
e(dev);
+
free_devic
e(dev);
}
dep->dev = NULL;
}
dep->dev = NULL;
diff --git
a/device.h
b/device.h
index
bfd044a
..
79aec32
100644
(file)
--- a/
device.h
+++ b/
device.h
@@
-82,6
+82,12
@@
struct device_hotplug_ops {
int (*del)(struct device *main, struct device *member);
};
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);
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);