ieee802154: merge nl802154 and wpan-class in single module

There is no real need to have ieee802154 interfaces separate
into several small modules, as neither of them has it's own use.
Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
parent a9966b58
obj-$(CONFIG_IEEE802154) += nl802154.o af_802154.o wpan-class.o obj-$(CONFIG_IEEE802154) += ieee802154.o af_802154.o
nl802154-y := netlink.o nl_policy.o ieee802154-y := netlink.o nl_policy.o wpan-class.o
af_802154-y := af_ieee802154.o raw.o dgram.o af_802154-y := af_ieee802154.o raw.o dgram.o
ccflags-y += -Wall -DDEBUG ccflags-y += -Wall -DDEBUG
...@@ -643,7 +643,7 @@ static struct genl_ops ieee802154_coordinator_ops[] = { ...@@ -643,7 +643,7 @@ static struct genl_ops ieee802154_coordinator_ops[] = {
ieee802154_dump_iface), ieee802154_dump_iface),
}; };
static int __init ieee802154_nl_init(void) int __init ieee802154_nl_init(void)
{ {
int rc; int rc;
int i; int i;
...@@ -676,14 +676,9 @@ static int __init ieee802154_nl_init(void) ...@@ -676,14 +676,9 @@ static int __init ieee802154_nl_init(void)
genl_unregister_family(&ieee802154_coordinator_family); genl_unregister_family(&ieee802154_coordinator_family);
return rc; return rc;
} }
module_init(ieee802154_nl_init);
static void __exit ieee802154_nl_exit(void) void __exit ieee802154_nl_exit(void)
{ {
genl_unregister_family(&ieee802154_coordinator_family); genl_unregister_family(&ieee802154_coordinator_family);
} }
module_exit(ieee802154_nl_exit);
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("ieee 802.15.4 configuration interface");
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
#include <net/wpan-phy.h> #include <net/wpan-phy.h>
#include "ieee802154.h"
#define MASTER_SHOW_COMPLEX(name, format_string, args...) \ #define MASTER_SHOW_COMPLEX(name, format_string, args...) \
static ssize_t name ## _show(struct device *dev, \ static ssize_t name ## _show(struct device *dev, \
struct device_attribute *attr, char *buf) \ struct device_attribute *attr, char *buf) \
...@@ -188,16 +190,31 @@ EXPORT_SYMBOL(wpan_phy_free); ...@@ -188,16 +190,31 @@ EXPORT_SYMBOL(wpan_phy_free);
static int __init wpan_phy_class_init(void) static int __init wpan_phy_class_init(void)
{ {
return class_register(&wpan_phy_class); int rc;
rc = class_register(&wpan_phy_class);
if (rc)
goto err;
rc = ieee802154_nl_init();
if (rc)
goto err_nl;
return 0;
err_nl:
class_unregister(&wpan_phy_class);
err:
return rc;
} }
subsys_initcall(wpan_phy_class_init); module_init(wpan_phy_class_init);
static void __exit wpan_phy_class_exit(void) static void __exit wpan_phy_class_exit(void)
{ {
ieee802154_nl_exit();
class_unregister(&wpan_phy_class); class_unregister(&wpan_phy_class);
} }
module_exit(wpan_phy_class_exit); module_exit(wpan_phy_class_exit);
MODULE_DESCRIPTION("IEEE 802.15.4 device class");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("IEEE 802.15.4 configuration interface");
MODULE_AUTHOR("Dmitry Eremin-Solenikov");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment