summaryrefslogtreecommitdiffstats
path: root/external
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2015-06-19 11:11:51 +0800
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-06-19 15:12:57 +1000
commit4c241e9e99b195dc526d597bd5e40fce1f44532f (patch)
tree01060246268ce4f8af1f6377041e3039953a7fc9 /external
parent30d6919517e08eb0229c2836448afe59cdb7eaf1 (diff)
downloadtalos-skiboot-4c241e9e99b195dc526d597bd5e40fce1f44532f.tar.gz
talos-skiboot-4c241e9e99b195dc526d597bd5e40fce1f44532f.zip
external/opal-prd: Add --version option
This change adds a --version option to opal-prd, and the make_version infrastructure to support it. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external')
-rw-r--r--external/opal-prd/Makefile17
-rw-r--r--external/opal-prd/opal-prd.c10
2 files changed, 26 insertions, 1 deletions
diff --git a/external/opal-prd/Makefile b/external/opal-prd/Makefile
index 18bc1647..9ccc6f67 100644
--- a/external/opal-prd/Makefile
+++ b/external/opal-prd/Makefile
@@ -16,13 +16,15 @@ ifndef V
Q_MKDIR=@echo ' MKDIR ' $@;
endif
-OBJS = opal-prd.o thunk.o pnor.o i2c.o module.o \
+OBJS = opal-prd.o thunk.o pnor.o i2c.o module.o version.o \
blocklevel.o libffs.o libflash.o ecc.o
all: opal-prd
LINKS = ccan
+SKIBOOT_VERSION ?= $(shell ../../make_version.sh skiboot)
+
ifdef KERNEL_DIR
LINKS += asm/opal-prd.h
endif
@@ -49,6 +51,19 @@ $(OBJS): $(LINKS)
opal-prd: $(OBJS)
$(Q_LINK)$(LINK.o) -o $@ $^
+version.c: ../../make_version.sh .version
+ @(if [ "a$(SKIBOOT_VERSION)" = "a" ]; then \
+ echo "#error You need to set SKIBOOT_VERSION environment variable" > $@ ;\
+ else \
+ echo "const char version[] = \"$(SKIBOOT_VERSION)\";" ;\
+ fi) > $@
+
+.PHONY: VERSION-always
+.version: VERSION-always
+ @echo $(SKIBOOT_VERSION) > $@.tmp
+ @cmp -s $@ $@.tmp || cp $@.tmp $@
+ @rm -f $@.tmp
+
test: test/test_pnor
test/test_pnor: test/test_pnor.o pnor.o libflash/libflash.o libflash/libffs.o
diff --git a/external/opal-prd/opal-prd.c b/external/opal-prd/opal-prd.c
index 84aca890..bf8f2ae5 100644
--- a/external/opal-prd/opal-prd.c
+++ b/external/opal-prd/opal-prd.c
@@ -1336,11 +1336,18 @@ static void usage(const char *progname)
"\t--stdio log to stdio, instead of syslog\n");
}
+static void print_version(void)
+{
+ extern const char version[];
+ printf("opal-prd %s\n", version);
+}
+
static struct option opal_diag_options[] = {
{"file", required_argument, NULL, 'f'},
{"pnor", required_argument, NULL, 'p'},
{"debug", no_argument, NULL, 'd'},
{"help", no_argument, NULL, 'h'},
+ {"version", no_argument, NULL, 'v'},
{"stdio", no_argument, NULL, 's'},
{ 0 },
};
@@ -1401,6 +1408,9 @@ int main(int argc, char *argv[])
case 'h':
usage(argv[0]);
return EXIT_SUCCESS;
+ case 'v':
+ print_version();
+ return EXIT_SUCCESS;
case '?':
default:
usage(argv[0]);
OpenPOWER on IntegriCloud