[PATCH] backports: add backport version to all modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Johannes Berg <johannes.berg@xxxxxxxxx>

We print out the backports version at runtime, but it
can also be useful to be able to determine it from the
installed modules.

As we already override module_init() to make all our
backported modules depend on compat.ko (in order to do
exactly this -- print out the version at runtime) also
add some MODULE_VERSION directives to it.

This results in, for example for mac80211, this:

$ /sbin/modinfo .../net/mac80211/mac80211.ko
filename:       .../net/mac80211/mac80211.ko
license:        GPL
description:    IEEE 802.11 subsystem
version:        backported from: Linux (next-20130405-0-g7df052b)
version:        backports: 6e0475b
srcversion:     6C298E6033E34EA8E223D7B
depends:        cfg80211,compat
vermagic:       3.8.0 SMP mod_unload modversions
parm:           max_nullfunc_tries:Maximum nullfunc tx tries before disconnecting (reason 4). (int)
parm:           max_probe_tries:Maximum probe tries before disconnecting (reason 4). (int)
parm:           probe_wait_ms:Maximum time(ms) to wait for probe response before disconnecting (reason 4). (int)
parm:           ieee80211_default_rc_algo:Default rate control algorithm for mac80211 to use (charp)

Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
---
 backport/Makefile.kernel            | 3 +++
 backport/compat/Makefile            | 3 ---
 backport/include/linux/compat-2.6.h | 6 +++++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/backport/Makefile.kernel b/backport/Makefile.kernel
index 4d00bda..54a1218 100644
--- a/backport/Makefile.kernel
+++ b/backport/Makefile.kernel
@@ -9,6 +9,9 @@ NOSTDINC_FLAGS := \
 	-I$(M)/include/drm \
 	-include $(M)/include/linux/compat-2.6.h \
 	$(call backport-cc-disable-warning, unused-but-set-variable) \
+	-DBACKPORTS_VERSION=\"$(BACKPORTS_VERSION)\" \
+	-DBACKPORTED_KERNEL_VERSION=\"$(BACKPORTED_KERNEL_VERSION)\" \
+	-DBACKPORTED_KERNEL_NAME=\"$(BACKPORTED_KERNEL_NAME)\" \
 	$(CFLAGS)
 
 obj-y += compat/
diff --git a/backport/compat/Makefile b/backport/compat/Makefile
index 62dd531..499d4c0 100644
--- a/backport/compat/Makefile
+++ b/backport/compat/Makefile
@@ -1,7 +1,4 @@
 ccflags-y += -I$(src)
-ccflags-y += -DBACKPORTS_VERSION=\"$(BACKPORTS_VERSION)\"
-ccflags-y += -DBACKPORTED_KERNEL_VERSION=\"$(BACKPORTED_KERNEL_VERSION)\"
-ccflags-y += -DBACKPORTED_KERNEL_NAME=\"$(BACKPORTED_KERNEL_NAME)\"
 obj-m += compat.o
 compat-y += main.o
 
diff --git a/backport/include/linux/compat-2.6.h b/backport/include/linux/compat-2.6.h
index 57a1c13..408fc60 100644
--- a/backport/include/linux/compat-2.6.h
+++ b/backport/include/linux/compat-2.6.h
@@ -38,7 +38,11 @@ void backport_dependency_symbol(void);
 		backport_dependency_symbol();				\
 		return initfn();					\
 	}								\
-	int init_module(void) __attribute__((alias("__init_backport")));
+	int init_module(void) __attribute__((alias("__init_backport")));\
+	MODULE_VERSION("backports: " BACKPORTS_VERSION);		\
+	MODULE_VERSION("backported from: " 				\
+			BACKPORTED_KERNEL_NAME " ("			\
+			BACKPORTED_KERNEL_VERSION ")");
 
 /*
  * Each compat file represents compatibility code for new kernel
-- 
1.8.0

--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux