Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6bf70f7 authored by Jon Paul Maloy's avatar Jon Paul Maloy Committed by David S. Miller
Browse files

tipc: simplify include dependencies



When we try to add new inline functions in the code, we sometimes
run into circular include dependencies.

The main problem is that the file core.h, which really should be at
the root of the dependency chain, instead is a leaf. I.e., core.h
includes a number of header files that themselves should be allowed
to include core.h. In reality this is unnecessary, because core.h does
not need to know the full signature of any of the structs it refers to,
only their type declaration.

In this commit, we remove all dependencies from core.h towards any
other tipc header file.

As a consequence of this change, we can now move the function
tipc_own_addr(net) from addr.c to addr.h, and make it inline.

There are no functional changes in this commit.

Reviewed-by: default avatarErik Hugne <erik.hugne@ericsson.com>
Reviewed-by: default avatarYing Xue <ying.xue@windriver.com>
Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 75b44b01
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -38,13 +38,6 @@
#include "addr.h"
#include "core.h"

u32 tipc_own_addr(struct net *net)
{
	struct tipc_net *tn = net_generic(net, tipc_net_id);

	return tn->own_addr;
}

/**
 * in_own_cluster - test for cluster inclusion; <0.0.0> always matches
 */
+8 −0
Original line number Diff line number Diff line
@@ -41,10 +41,18 @@
#include <linux/tipc.h>
#include <net/net_namespace.h>
#include <net/netns/generic.h>
#include "core.h"

#define TIPC_ZONE_MASK		0xff000000u
#define TIPC_CLUSTER_MASK	0xfffff000u

static inline u32 tipc_own_addr(struct net *net)
{
	struct tipc_net *tn = net_generic(net, tipc_net_id);

	return tn->own_addr;
}

static inline u32 tipc_zone_mask(u32 addr)
{
	return addr & TIPC_ZONE_MASK;
+1 −1
Original line number Diff line number Diff line
@@ -38,9 +38,9 @@
#define _TIPC_BEARER_H

#include "netlink.h"
#include "core.h"
#include <net/genetlink.h>

#define MAX_BEARERS	2
#define MAX_MEDIA	3
#define MAX_NODES	4096
#define WSIZE		32
+10 −7
Original line number Diff line number Diff line
@@ -60,16 +60,19 @@
#include <net/netns/generic.h>
#include <linux/rhashtable.h>

#include "node.h"
#include "bearer.h"
#include "bcast.h"
#include "netlink.h"
#include "link.h"
#include "node.h"
#include "msg.h"
struct tipc_node;
struct tipc_bearer;
struct tipc_bcbearer;
struct tipc_bclink;
struct tipc_link;
struct tipc_name_table;
struct tipc_server;

#define TIPC_MOD_VER "2.0.0"

#define NODE_HTABLE_SIZE   512
#define MAX_BEARERS	   3

extern int tipc_net_id __read_mostly;
extern int sysctl_tipc_rmem[3] __read_mostly;
extern int sysctl_tipc_named_timeout __read_mostly;
+1 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@
#include "subscr.h"
#include "socket.h"
#include "node.h"
#include "bcast.h"

static const struct nla_policy tipc_nl_net_policy[TIPC_NLA_NET_MAX + 1] = {
	[TIPC_NLA_NET_UNSPEC]	= { .type = NLA_UNSPEC },
Loading