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>
This commit is contained in:

committed by
David S. Miller

parent
a07ea4d994
commit
489111e5c2
@@ -60,12 +60,7 @@ struct netlbl_domhsh_walk_arg {
|
||||
};
|
||||
|
||||
/* NetLabel Generic NETLINK CALIPSO family */
|
||||
static struct genl_family netlbl_calipso_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_CALIPSO_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_CALIPSO_A_MAX,
|
||||
};
|
||||
static struct genl_family netlbl_calipso_gnl_family;
|
||||
|
||||
/* NetLabel Netlink attribute policy */
|
||||
static const struct nla_policy calipso_genl_policy[NLBL_CALIPSO_A_MAX + 1] = {
|
||||
@@ -354,6 +349,16 @@ static const struct genl_ops netlbl_calipso_ops[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct genl_family netlbl_calipso_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_CALIPSO_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_CALIPSO_A_MAX,
|
||||
.module = THIS_MODULE,
|
||||
.ops = netlbl_calipso_ops,
|
||||
.n_ops = ARRAY_SIZE(netlbl_calipso_ops),
|
||||
};
|
||||
|
||||
/* NetLabel Generic NETLINK Protocol Functions
|
||||
*/
|
||||
|
||||
@@ -367,8 +372,7 @@ static const struct genl_ops netlbl_calipso_ops[] = {
|
||||
*/
|
||||
int __init netlbl_calipso_genl_init(void)
|
||||
{
|
||||
return genl_register_family_with_ops(&netlbl_calipso_gnl_family,
|
||||
netlbl_calipso_ops);
|
||||
return genl_register_family(&netlbl_calipso_gnl_family);
|
||||
}
|
||||
|
||||
static const struct netlbl_calipso_ops *calipso_ops;
|
||||
|
@@ -59,13 +59,7 @@ struct netlbl_domhsh_walk_arg {
|
||||
};
|
||||
|
||||
/* NetLabel Generic NETLINK CIPSOv4 family */
|
||||
static struct genl_family netlbl_cipsov4_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_CIPSOV4_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_CIPSOV4_A_MAX,
|
||||
};
|
||||
|
||||
static struct genl_family netlbl_cipsov4_gnl_family;
|
||||
/* NetLabel Netlink attribute policy */
|
||||
static const struct nla_policy netlbl_cipsov4_genl_policy[NLBL_CIPSOV4_A_MAX + 1] = {
|
||||
[NLBL_CIPSOV4_A_DOI] = { .type = NLA_U32 },
|
||||
@@ -766,6 +760,16 @@ static const struct genl_ops netlbl_cipsov4_ops[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct genl_family netlbl_cipsov4_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_CIPSOV4_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_CIPSOV4_A_MAX,
|
||||
.module = THIS_MODULE,
|
||||
.ops = netlbl_cipsov4_ops,
|
||||
.n_ops = ARRAY_SIZE(netlbl_cipsov4_ops),
|
||||
};
|
||||
|
||||
/*
|
||||
* NetLabel Generic NETLINK Protocol Functions
|
||||
*/
|
||||
@@ -780,6 +784,5 @@ static const struct genl_ops netlbl_cipsov4_ops[] = {
|
||||
*/
|
||||
int __init netlbl_cipsov4_genl_init(void)
|
||||
{
|
||||
return genl_register_family_with_ops(&netlbl_cipsov4_gnl_family,
|
||||
netlbl_cipsov4_ops);
|
||||
return genl_register_family(&netlbl_cipsov4_gnl_family);
|
||||
}
|
||||
|
@@ -60,12 +60,7 @@ struct netlbl_domhsh_walk_arg {
|
||||
};
|
||||
|
||||
/* NetLabel Generic NETLINK CIPSOv4 family */
|
||||
static struct genl_family netlbl_mgmt_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_MGMT_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_MGMT_A_MAX,
|
||||
};
|
||||
static struct genl_family netlbl_mgmt_gnl_family;
|
||||
|
||||
/* NetLabel Netlink attribute policy */
|
||||
static const struct nla_policy netlbl_mgmt_genl_policy[NLBL_MGMT_A_MAX + 1] = {
|
||||
@@ -833,6 +828,16 @@ static const struct genl_ops netlbl_mgmt_genl_ops[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct genl_family netlbl_mgmt_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_MGMT_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_MGMT_A_MAX,
|
||||
.module = THIS_MODULE,
|
||||
.ops = netlbl_mgmt_genl_ops,
|
||||
.n_ops = ARRAY_SIZE(netlbl_mgmt_genl_ops),
|
||||
};
|
||||
|
||||
/*
|
||||
* NetLabel Generic NETLINK Protocol Functions
|
||||
*/
|
||||
@@ -847,6 +852,5 @@ static const struct genl_ops netlbl_mgmt_genl_ops[] = {
|
||||
*/
|
||||
int __init netlbl_mgmt_genl_init(void)
|
||||
{
|
||||
return genl_register_family_with_ops(&netlbl_mgmt_gnl_family,
|
||||
netlbl_mgmt_genl_ops);
|
||||
return genl_register_family(&netlbl_mgmt_gnl_family);
|
||||
}
|
||||
|
@@ -123,12 +123,7 @@ static struct netlbl_unlhsh_iface __rcu *netlbl_unlhsh_def;
|
||||
static u8 netlabel_unlabel_acceptflg;
|
||||
|
||||
/* NetLabel Generic NETLINK unlabeled family */
|
||||
static struct genl_family netlbl_unlabel_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_UNLABELED_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_UNLABEL_A_MAX,
|
||||
};
|
||||
static struct genl_family netlbl_unlabel_gnl_family;
|
||||
|
||||
/* NetLabel Netlink attribute policy */
|
||||
static const struct nla_policy netlbl_unlabel_genl_policy[NLBL_UNLABEL_A_MAX + 1] = {
|
||||
@@ -1377,6 +1372,16 @@ static const struct genl_ops netlbl_unlabel_genl_ops[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct genl_family netlbl_unlabel_gnl_family = {
|
||||
.hdrsize = 0,
|
||||
.name = NETLBL_NLTYPE_UNLABELED_NAME,
|
||||
.version = NETLBL_PROTO_VERSION,
|
||||
.maxattr = NLBL_UNLABEL_A_MAX,
|
||||
.module = THIS_MODULE,
|
||||
.ops = netlbl_unlabel_genl_ops,
|
||||
.n_ops = ARRAY_SIZE(netlbl_unlabel_genl_ops),
|
||||
};
|
||||
|
||||
/*
|
||||
* NetLabel Generic NETLINK Protocol Functions
|
||||
*/
|
||||
@@ -1391,8 +1396,7 @@ static const struct genl_ops netlbl_unlabel_genl_ops[] = {
|
||||
*/
|
||||
int __init netlbl_unlabel_genl_init(void)
|
||||
{
|
||||
return genl_register_family_with_ops(&netlbl_unlabel_gnl_family,
|
||||
netlbl_unlabel_genl_ops);
|
||||
return genl_register_family(&netlbl_unlabel_gnl_family);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user