From: Sven Eckelmann <sven@narfation.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Subject: [B.A.T.M.A.N.] [PATCH v3 4/8] batman-adv: compat: Move netlink const compat to coccinelle
Date: Tue, 18 Oct 2016 15:57:39 +0200 [thread overview]
Message-ID: <20161018135743.3705-4-sven@narfation.org> (raw)
In-Reply-To: <2219629.dYY2ZvZvNG@bentobox>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
---
v3:
- removed compat-include/linux/netlink.h changes which are already in master
v2:
- new patch
---
compat-patches/0002-genl-const.INFO | 15 +++++++++++++++
compat-patches/0002-genl-const.cocci | 10 ++++++++++
compat-patches/replacements.sh | 6 ------
3 files changed, 25 insertions(+), 6 deletions(-)
create mode 100644 compat-patches/0002-genl-const.INFO
create mode 100644 compat-patches/0002-genl-const.cocci
diff --git a/compat-patches/0002-genl-const.INFO b/compat-patches/0002-genl-const.INFO
new file mode 100644
index 0000000..192c5c6
--- /dev/null
+++ b/compat-patches/0002-genl-const.INFO
@@ -0,0 +1,15 @@
+Newer kernels make generic netlink ops and multicast groups
+const, but older can't have that. We therefore introduce
+__genl_const, which can be defined depending on the kernel.
+
+What kernel versions require this?
+
+XXX: try to SmPLify
+
+The struct genl_ops gave the *option* to make it const via:
+mcgrof@ergon ~/linux (git::master)$ git describe --contains f84f771d9
+v3.13-rc1~33^2~32^2~2
+
+The struct genl_multicast_group was *forced* to be const via:
+mcgrof@ergon ~/linux (git::master)$ git describe --contains 2a94fe48f
+v3.13-rc1~33^2^2
diff --git a/compat-patches/0002-genl-const.cocci b/compat-patches/0002-genl-const.cocci
new file mode 100644
index 0000000..36c71d6
--- /dev/null
+++ b/compat-patches/0002-genl-const.cocci
@@ -0,0 +1,10 @@
+@@
+attribute __genl_const;
+@@
+(
+-const struct genl_multicast_group
++__genl_const struct genl_multicast_group
+|
+-const struct genl_ops
++__genl_const struct genl_ops
+)
diff --git a/compat-patches/replacements.sh b/compat-patches/replacements.sh
index 7dcb953..c7875c0 100755
--- a/compat-patches/replacements.sh
+++ b/compat-patches/replacements.sh
@@ -1,9 +1,3 @@
#! /bin/sh
set -e
-
-# for kernel < 3.13 to make netlink compat code work
-sed -i \
- -e 's/^static const struct genl_multicast_group batadv_netlink_mcgrps/static __genl_const struct genl_multicast_group batadv_netlink_mcgrps/' \
- -e 's/^static const struct genl_ops batadv_netlink_ops/static __genl_const struct genl_ops batadv_netlink_ops/' \
- build/net/batman-adv/netlink.c
--
2.9.3
next prev parent reply other threads:[~2016-10-18 13:57 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-18 13:57 [B.A.T.M.A.N.] [PATCH v3 0/8] batman-adv: Support for complex compat patches Sven Eckelmann
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 1/8] batman-adv: Mark batadv_netlink_ops as const Sven Eckelmann
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 2/8] batman-adv: Add support for coccinelle in compat-patches Sven Eckelmann
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 3/8] batman-adv: compat: Port netlink port hack to coccinelle Sven Eckelmann
2016-10-18 13:57 ` Sven Eckelmann [this message]
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 5/8] batman-adv: Remove replacement compat script Sven Eckelmann
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 6/8] batman-adv: compat: Replace IFF_NO_QUEUE with coccinelle Sven Eckelmann
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 7/8] batman-adv: compat: Move get_link_net patch to coccinelle Sven Eckelmann
2016-10-18 13:57 ` [B.A.T.M.A.N.] [PATCH v3 8/8] batman-adv: compat: Move vid api wrapper " Sven Eckelmann
2016-10-24 11:06 ` [B.A.T.M.A.N.] [PATCH v3 0/8] batman-adv: Support for complex compat patches Simon Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161018135743.3705-4-sven@narfation.org \
--to=sven@narfation.org \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox