public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: backports@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, yann.morin.1998@free.fr,
	mmarek@suse.cz, sassmann@kpanic.de,
	"Luis R. Rodriguez" <mcgrof@suse.com>
Subject: [PATCH v1 02/11] backports: extend module_init() module_exit() for built-in
Date: Tue,  4 Nov 2014 00:42:53 -0800	[thread overview]
Message-ID: <1415090582-14129-3-git-send-email-mcgrof@do-not-panic.com> (raw)
In-Reply-To: <1415090582-14129-1-git-send-email-mcgrof@do-not-panic.com>

From: "Luis R. Rodriguez" <mcgrof@suse.com>

When backports is used we want to identify the provenance
of the code used to generate the backport. We do this by
simply requiring all used drivers to at leats check in
with the backports  module which identifies the backport.

We had this in place for modules but not for built-in, add
the respective set of helpers for it.

Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
---
 backport/backport-include/linux/module.h | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/backport/backport-include/linux/module.h b/backport/backport-include/linux/module.h
index 82c96bd..8942c5b 100644
--- a/backport/backport-include/linux/module.h
+++ b/backport/backport-include/linux/module.h
@@ -25,6 +25,30 @@ extern void backport_dependency_symbol(void);
 		       " using backports " BACKPORTS_VERSION);
 #endif
 
+#ifndef MODULE
+/*
+ * Forcing the backports module to load allows us to easily
+ * identify the backport.
+ */
+#undef module_init
+#define module_init(fn)							\
+	static int __init __init_backport_##fn(void)			\
+	{								\
+		backport_dependency_symbol();				\
+		return fn();						\
+	}								\
+	__initcall(__init_backport_##fn);
+
+#undef module_exit
+#define module_exit(fn)							\
+	static void __exit __exit_backport_##fn(void)			\
+	{								\
+		fn();							\
+		rcu_barrier();						\
+	}								\
+	__exitcall(__exit_backport_##fn);
+
+#else
 #undef module_init
 #define module_init(initfn)						\
 	static int __init __init_backport(void)				\
@@ -58,6 +82,7 @@ extern void backport_dependency_symbol(void);
 		rcu_barrier();						\
 	}								\
 	void cleanup_module(void) __attribute__((alias("__exit_compat")));
+#endif
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)
 #undef param_check_bool
-- 
2.1.1


  parent reply	other threads:[~2014-11-04  8:48 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04  8:42 [PATCH v1 00/11] backports: add kernel integration support Luis R. Rodriguez
2014-11-04  8:42 ` [PATCH v1 01/11] backports: move legacy and SmPL patch application into helper Luis R. Rodriguez
2014-11-04  8:42 ` Luis R. Rodriguez [this message]
2014-11-04 10:02   ` [PATCH v1 02/11] backports: extend module_init() module_exit() for built-in Johannes Berg
2014-11-04  8:42 ` [PATCH v1 03/11] backports: allow for different backport prefix Luis R. Rodriguez
2014-11-04 10:05   ` Johannes Berg
2014-11-04 21:45     ` Luis R. Rodriguez
2014-11-04  8:42 ` [PATCH v1 04/11] backports: replace BACKPORT_PWD with BACKPORT_DIR Luis R. Rodriguez
2014-11-04  8:42 ` [PATCH v1 05/11] backports: use BACKPORT_DIR prefix on kconfig sources Luis R. Rodriguez
2014-11-04  8:42 ` [PATCH v1 06/11] backports: update dependencies map file Luis R. Rodriguez
2014-11-04  8:42 ` [PATCH v1 07/11] backports: split Kconfig into Kconfig.package and Kconfig.sources Luis R. Rodriguez
2014-11-04  8:42 ` [PATCH v1 08/11] backports: move version file generation to run earlier Luis R. Rodriguez
2014-11-04  8:43 ` [PATCH v1 09/11] backports: use Kconfig for backport version information Luis R. Rodriguez
2014-11-04 10:13   ` Johannes Berg
2014-11-04 21:51     ` Luis R. Rodriguez
2014-11-04 23:33     ` Luis R. Rodriguez
2014-11-04  8:43 ` [PATCH v1 10/11] backports: prefix c-file / h-file auto backport with BPAUTO Luis R. Rodriguez
2014-11-04 10:14   ` Johannes Berg
2014-11-04 21:50     ` Luis R. Rodriguez
2014-11-04 21:50       ` Johannes Berg
2014-11-05  0:21         ` Luis R. Rodriguez
2014-11-05  7:29           ` Johannes Berg
2014-11-05  8:02             ` Luis R. Rodriguez
2014-11-05  8:12               ` Johannes Berg
2014-11-05  8:20                 ` Luis R. Rodriguez
2014-11-04  8:43 ` [PATCH v1 11/11] backports: add full kernel integration support Luis R. Rodriguez

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=1415090582-14129-3-git-send-email-mcgrof@do-not-panic.com \
    --to=mcgrof@do-not-panic.com \
    --cc=backports@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcgrof@suse.com \
    --cc=mmarek@suse.cz \
    --cc=sassmann@kpanic.de \
    --cc=yann.morin.1998@free.fr \
    /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