mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
genetlink: statically initialize families
Instead of providing macros/inline functions to initialize the families, make all users initialize them statically and get rid of the macros. This reduces the kernel code size by about 1.6k on x86-64 (with allyesconfig). Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
a07ea4d994
commit
489111e5c2
37 changed files with 414 additions and 337 deletions
|
|
@ -28,13 +28,6 @@
|
|||
static unsigned int ieee802154_seq_num;
|
||||
static DEFINE_SPINLOCK(ieee802154_seq_lock);
|
||||
|
||||
struct genl_family nl802154_family = {
|
||||
.hdrsize = 0,
|
||||
.name = IEEE802154_NL_NAME,
|
||||
.version = 1,
|
||||
.maxattr = IEEE802154_ATTR_MAX,
|
||||
};
|
||||
|
||||
/* Requests to userspace */
|
||||
struct sk_buff *ieee802154_nl_create(int flags, u8 req)
|
||||
{
|
||||
|
|
@ -138,11 +131,21 @@ static const struct genl_multicast_group ieee802154_mcgrps[] = {
|
|||
[IEEE802154_BEACON_MCGRP] = { .name = IEEE802154_MCAST_BEACON_NAME, },
|
||||
};
|
||||
|
||||
struct genl_family nl802154_family = {
|
||||
.hdrsize = 0,
|
||||
.name = IEEE802154_NL_NAME,
|
||||
.version = 1,
|
||||
.maxattr = IEEE802154_ATTR_MAX,
|
||||
.module = THIS_MODULE,
|
||||
.ops = ieee8021154_ops,
|
||||
.n_ops = ARRAY_SIZE(ieee8021154_ops),
|
||||
.mcgrps = ieee802154_mcgrps,
|
||||
.n_mcgrps = ARRAY_SIZE(ieee802154_mcgrps),
|
||||
};
|
||||
|
||||
int __init ieee802154_nl_init(void)
|
||||
{
|
||||
return genl_register_family_with_ops_groups(&nl802154_family,
|
||||
ieee8021154_ops,
|
||||
ieee802154_mcgrps);
|
||||
return genl_register_family(&nl802154_family);
|
||||
}
|
||||
|
||||
void ieee802154_nl_exit(void)
|
||||
|
|
|
|||
|
|
@ -26,22 +26,8 @@
|
|||
#include "rdev-ops.h"
|
||||
#include "core.h"
|
||||
|
||||
static int nl802154_pre_doit(const struct genl_ops *ops, struct sk_buff *skb,
|
||||
struct genl_info *info);
|
||||
|
||||
static void nl802154_post_doit(const struct genl_ops *ops, struct sk_buff *skb,
|
||||
struct genl_info *info);
|
||||
|
||||
/* the netlink family */
|
||||
static struct genl_family nl802154_fam = {
|
||||
.name = NL802154_GENL_NAME, /* have users key off the name instead */
|
||||
.hdrsize = 0, /* no private header */
|
||||
.version = 1, /* no particular meaning now */
|
||||
.maxattr = NL802154_ATTR_MAX,
|
||||
.netnsok = true,
|
||||
.pre_doit = nl802154_pre_doit,
|
||||
.post_doit = nl802154_post_doit,
|
||||
};
|
||||
static struct genl_family nl802154_fam;
|
||||
|
||||
/* multicast groups */
|
||||
enum nl802154_multicast_groups {
|
||||
|
|
@ -2476,11 +2462,25 @@ static const struct genl_ops nl802154_ops[] = {
|
|||
#endif /* CONFIG_IEEE802154_NL802154_EXPERIMENTAL */
|
||||
};
|
||||
|
||||
static struct genl_family nl802154_fam = {
|
||||
.name = NL802154_GENL_NAME, /* have users key off the name instead */
|
||||
.hdrsize = 0, /* no private header */
|
||||
.version = 1, /* no particular meaning now */
|
||||
.maxattr = NL802154_ATTR_MAX,
|
||||
.netnsok = true,
|
||||
.pre_doit = nl802154_pre_doit,
|
||||
.post_doit = nl802154_post_doit,
|
||||
.module = THIS_MODULE,
|
||||
.ops = nl802154_ops,
|
||||
.n_ops = ARRAY_SIZE(nl802154_ops),
|
||||
.mcgrps = nl802154_mcgrps,
|
||||
.n_mcgrps = ARRAY_SIZE(nl802154_mcgrps),
|
||||
};
|
||||
|
||||
/* initialisation/exit functions */
|
||||
int nl802154_init(void)
|
||||
{
|
||||
return genl_register_family_with_ops_groups(&nl802154_fam, nl802154_ops,
|
||||
nl802154_mcgrps);
|
||||
return genl_register_family(&nl802154_fam);
|
||||
}
|
||||
|
||||
void nl802154_exit(void)
|
||||
|
|
|
|||
Loading…
Reference in a new issue