summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2016-02-04 02:13:02 +0100
committerSuren A. Chilingaryan <csa@suren.me>2016-02-04 02:13:02 +0100
commit4f5185b37980bdf962ff7058e9f8fbb06098386c (patch)
treecad958462854e1b72cd838a3aed4de1224768bd4
parentcabe489a2e8e2ee7619924e447221177f4562962 (diff)
downloadpcitool-4f5185b37980bdf962ff7058e9f8fbb06098386c.tar.gz
pcitool-4f5185b37980bdf962ff7058e9f8fbb06098386c.tar.bz2
pcitool-4f5185b37980bdf962ff7058e9f8fbb06098386c.tar.xz
pcitool-4f5185b37980bdf962ff7058e9f8fbb06098386c.zip
Report information about driver revision and build
-rw-r--r--.bzrignore1
-rw-r--r--cmake/build.cmake2
-rw-r--r--driver/Makefile11
-rw-r--r--driver/base.c11
4 files changed, 23 insertions, 2 deletions
diff --git a/.bzrignore b/.bzrignore
index 39cf710..3c1afaa 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -32,3 +32,4 @@ version.h
Doxyfile
html
pcilib/build.h
+build.h
diff --git a/cmake/build.cmake b/cmake/build.cmake
index 3043014..ffddf82 100644
--- a/cmake/build.cmake
+++ b/cmake/build.cmake
@@ -23,7 +23,7 @@ if (${_retcode} EQUAL 0)
endif (${_retcode} EQUAL 0)
execute_process(
- COMMAND find ${CMAKE_SOURCE_DIR} -type f -name *.[ch] -printf "%TY/%Tm/%Td %TH:%TM:%TS %p\n"
+ COMMAND find ${CMAKE_SOURCE_DIR} -type f -name "*.[ch]" -printf "%TY/%Tm/%Td %TH:%TM:%TS %p\n"
COMMAND sort -n
COMMAND grep -E -v "build.h|config.h|CMakeFiles|./apps"
COMMAND tail -n 1
diff --git a/driver/Makefile b/driver/Makefile
index f2c993e..c26a84a 100644
--- a/driver/Makefile
+++ b/driver/Makefile
@@ -29,6 +29,17 @@ default:
else \
CC=$(CC) ;\
fi ;\
+ build_revision=`bzr revno` ;\
+ build_author=`bzr log -r$$build_revision | grep committer | cut -c 12-` ;\
+ build_path=`pwd` ;\
+ build_branch=`bzr nick` ;\
+ build_lastmod=`find . -type f -name '*.[ch]' -printf '%TY/%Tm/%Td %TH:%TM:%TS %p\n' | grep -E -v 'build.h|mod.c' | sort -n | tail -n 1 | cut -d ' ' -f 1-2 | cut -d '.' -f 1` ;\
+ build_changes=`bzr status -SV | cut -c 5- | tr \\\n " "` ;\
+ build_user=`whoami` ;\
+ build_date=`date "+%Y/%m/%d %H:%M:%S"` ;\
+ build="Built at $$build_date by $$build_user" ;\
+ revision="Revision $$build_revision from $$build_branch by $$build_author at $$build_path, last modification from $$build_lastmod" ;\
+ echo -e "#define PCIDRIVER_BUILD \"$$build\"\\n#define PCIDRIVER_REVISION \"$$revision\"\\n#define PCIDRIVER_CHANGES \"$$build_changes\"\\n" > build.h ;\
$(MAKE) $(CFLAGS) -C $(KERNELDIR) M=$(PWD) CC=$$CC modules
install:
diff --git a/driver/base.c b/driver/base.c
index 2768f9e..bc9ab98 100644
--- a/driver/base.c
+++ b/driver/base.c
@@ -164,6 +164,8 @@
#include <linux/interrupt.h>
#include <linux/wait.h>
+#include "../pcilib/version.h"
+
/* Configuration for the driver (what should be compiled in, module name, etc...) */
#include "config.h"
@@ -190,6 +192,8 @@
#include "ioctl.h"
+#include "build.h"
+
/*************************************************************************/
/* Module device table associated with this driver */
MODULE_DEVICE_TABLE(pci, pcidriver_ids);
@@ -240,7 +244,12 @@ static int __init pcidriver_init(void)
goto init_pcireg_fail;
}
- mod_info("Module loaded\n");
+ mod_info("pcidriver %u.%u.%u loaded\n", PCILIB_VERSION_GET_MAJOR(PCILIB_VERSION), PCILIB_VERSION_GET_MINOR(PCILIB_VERSION), PCILIB_VERSION_GET_MICRO(PCILIB_VERSION));
+ mod_info("%s\n", PCIDRIVER_BUILD);
+ mod_info("%s\n", PCIDRIVER_REVISION);
+ if (strlen(PCIDRIVER_CHANGES)) {
+ mod_info("Extra changes - %s\n", PCIDRIVER_CHANGES);
+ }
return 0;