X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=device.c;h=77594be367ce1dfb6ba70c176b05ea4135d9128d;hp=8bc8b53218c94f16156c606cbd15f5693af5b9aa;hb=2cd93d4c17f093552c06c60427fe9ecfb4c0dbe8;hpb=bc5d577ff9a9f87cd4f898d2b073332291087b84 diff --git a/device.c b/device.c index 8bc8b53..77594be 100644 --- a/device.c +++ b/device.c @@ -6,7 +6,10 @@ #include #include #include + +#ifdef linux #include +#endif #include "netifd.h" #include "system.h" @@ -294,3 +297,16 @@ device_free_unused(struct device *dev) avl_for_each_element_safe(&devices, dev, avl, tmp) __device_free_unused(dev); } + +struct device * +device_create(const char *name, const struct device_type *type, + struct blob_attr *config) +{ + struct device *dev; + + dev = device_get(name, false); + if (dev) + return dev; + + return type->create(config); +}