Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / net / ieee802154 / netlink.c
index 5172f467a383573bb9c8c9cae6a7a41711b6033b..43f1b2bf469f40938a431582b305c45587049a04 100644 (file)
@@ -125,25 +125,17 @@ static const struct genl_ops ieee8021154_ops[] = {
                        ieee802154_dump_iface),
 };
 
-int __init ieee802154_nl_init(void)
-{
-       int rc;
-
-       rc = genl_register_family_with_ops(&nl802154_family, ieee8021154_ops);
-       if (rc)
-               return rc;
+static const struct genl_multicast_group ieee802154_mcgrps[] = {
+       [IEEE802154_COORD_MCGRP] = { .name = IEEE802154_MCAST_COORD_NAME, },
+       [IEEE802154_BEACON_MCGRP] = { .name = IEEE802154_MCAST_BEACON_NAME, },
+};
 
-       rc = genl_register_mc_group(&nl802154_family, &ieee802154_coord_mcgrp);
-       if (rc)
-               goto fail;
 
-       rc = genl_register_mc_group(&nl802154_family, &ieee802154_beacon_mcgrp);
-       if (rc)
-               goto fail;
-       return 0;
-fail:
-       genl_unregister_family(&nl802154_family);
-       return rc;
+int __init ieee802154_nl_init(void)
+{
+       return genl_register_family_with_ops_groups(&nl802154_family,
+                                                   ieee8021154_ops,
+                                                   ieee802154_mcgrps);
 }
 
 void __exit ieee802154_nl_exit(void)