diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-10-24 08:40:03 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-27 16:16:09 -0400 |
commit | 489111e5c25b93be80340c3113d71903d7c82136 (patch) | |
tree | bf1af9c989ee4cd1decbfcbfe0633d7f563f5c83 /net/ipv4/fou.c | |
parent | a07ea4d9941af5a0c6f0be2a71b51ac9c083c5e5 (diff) |
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 <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/fou.c')
-rw-r--r-- | net/ipv4/fou.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c index e3fc527c5d37..5b5226a2434f 100644 --- a/net/ipv4/fou.c +++ b/net/ipv4/fou.c | |||
@@ -622,13 +622,7 @@ static int fou_destroy(struct net *net, struct fou_cfg *cfg) | |||
622 | return err; | 622 | return err; |
623 | } | 623 | } |
624 | 624 | ||
625 | static struct genl_family fou_nl_family = { | 625 | static struct genl_family fou_nl_family; |
626 | .hdrsize = 0, | ||
627 | .name = FOU_GENL_NAME, | ||
628 | .version = FOU_GENL_VERSION, | ||
629 | .maxattr = FOU_ATTR_MAX, | ||
630 | .netnsok = true, | ||
631 | }; | ||
632 | 626 | ||
633 | static const struct nla_policy fou_nl_policy[FOU_ATTR_MAX + 1] = { | 627 | static const struct nla_policy fou_nl_policy[FOU_ATTR_MAX + 1] = { |
634 | [FOU_ATTR_PORT] = { .type = NLA_U16, }, | 628 | [FOU_ATTR_PORT] = { .type = NLA_U16, }, |
@@ -830,6 +824,17 @@ static const struct genl_ops fou_nl_ops[] = { | |||
830 | }, | 824 | }, |
831 | }; | 825 | }; |
832 | 826 | ||
827 | static struct genl_family fou_nl_family = { | ||
828 | .hdrsize = 0, | ||
829 | .name = FOU_GENL_NAME, | ||
830 | .version = FOU_GENL_VERSION, | ||
831 | .maxattr = FOU_ATTR_MAX, | ||
832 | .netnsok = true, | ||
833 | .module = THIS_MODULE, | ||
834 | .ops = fou_nl_ops, | ||
835 | .n_ops = ARRAY_SIZE(fou_nl_ops), | ||
836 | }; | ||
837 | |||
833 | size_t fou_encap_hlen(struct ip_tunnel_encap *e) | 838 | size_t fou_encap_hlen(struct ip_tunnel_encap *e) |
834 | { | 839 | { |
835 | return sizeof(struct udphdr); | 840 | return sizeof(struct udphdr); |
@@ -1085,8 +1090,7 @@ static int __init fou_init(void) | |||
1085 | if (ret) | 1090 | if (ret) |
1086 | goto exit; | 1091 | goto exit; |
1087 | 1092 | ||
1088 | ret = genl_register_family_with_ops(&fou_nl_family, | 1093 | ret = genl_register_family(&fou_nl_family); |
1089 | fou_nl_ops); | ||
1090 | if (ret < 0) | 1094 | if (ret < 0) |
1091 | goto unregister; | 1095 | goto unregister; |
1092 | 1096 | ||