security: tf_driver: integrate latest TL release
[linux-3.10.git] / security / tf_driver / s_version.h
1 /*
2  * Copyright (c) 2011 Trusted Logic S.A.
3  * All Rights Reserved.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * version 2 as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
17  * MA 02111-1307 USA
18  */
19
20 #ifndef __S_VERSION_H__
21 #define __S_VERSION_H__
22
23 #include "linux/stringify.h"
24
25 /*
26  * Usage: define S_VERSION_BUILD on the compiler's command line.
27  *
28  * Then set:
29  * - S_VERSION_OS
30  * - S_VERSION_PLATFORM
31  * - S_VERSION_MAIN
32  * - S_VERSION_ENG is optional
33  * - S_VERSION_PATCH is optional
34  * - S_VERSION_BUILD = 0 if S_VERSION_BUILD not defined or empty
35  */
36
37
38
39 /*
40  * This version number must be updated for each new release.
41  *
42  * If this is a patch or engineering version use the following
43  * defines to set the version number. Else set these values to 0.
44  */
45 #if defined(CONFIG_ARCH_TEGRA_2x_SOC)
46 #define S_VERSION_OS "A"          /* "A" for all Android */
47 #define S_VERSION_PLATFORM "A"
48 #define S_VERSION_MAIN  "01.11"
49 #define S_VERSION_ENG 0
50 #define S_VERSION_PATCH 0
51
52 #elif defined(CONFIG_ARCH_TEGRA_3x_SOC)
53 #define S_VERSION_OS "A"          /* "A" for all Android */
54 #define S_VERSION_PLATFORM "B"
55 #define S_VERSION_MAIN  "02.02"
56 #define S_VERSION_ENG 0
57 #define S_VERSION_PATCH 0
58
59 #elif defined(CONFIG_ARCH_TEGRA_11x_SOC)
60 #define S_VERSION_OS "A"          /* "A" for all Android */
61 #define S_VERSION_PLATFORM "C"
62 #define S_VERSION_MAIN  "02.02"
63 #define S_VERSION_ENG 0
64 #define S_VERSION_PATCH 0
65
66 #else
67 #define S_VERSION_OS "Z"          /* Unknown platform */
68 #define S_VERSION_PLATFORM "Z"    /* Unknown platform */
69 #define S_VERSION_MAIN  "00.00"
70 #define S_VERSION_ENG 0
71 #define S_VERSION_PATCH 0
72 #endif
73
74
75 #ifdef S_VERSION_BUILD
76 /* TRICK: detect if S_VERSION is defined but empty */
77 #if 0 == S_VERSION_BUILD-0
78 #undef  S_VERSION_BUILD
79 #define S_VERSION_BUILD 0
80 #endif
81 #else
82 /* S_VERSION_BUILD is not defined */
83 #define S_VERSION_BUILD 0
84 #endif
85
86
87 #if S_VERSION_ENG != 0
88 #define _S_VERSION_ENG "e" __stringify(S_VERSION_ENG)
89 #else
90 #define _S_VERSION_ENG ""
91 #endif
92
93 #if S_VERSION_PATCH != 0
94 #define _S_VERSION_PATCH "p" __stringify(S_VERSION_PATCH)
95 #else
96 #define _S_VERSION_PATCH ""
97 #endif
98
99 #if !defined(NDEBUG) || defined(_DEBUG)
100 #define S_VERSION_VARIANT "D   "
101 #else
102 #define S_VERSION_VARIANT "    "
103 #endif
104
105 #define S_VERSION_STRING (\
106         "TFN" \
107         S_VERSION_OS \
108         S_VERSION_PLATFORM \
109         S_VERSION_MAIN \
110         _S_VERSION_ENG \
111         _S_VERSION_PATCH \
112         "."  __stringify(S_VERSION_BUILD) " " \
113         S_VERSION_VARIANT)
114
115 #endif /* __S_VERSION_H__ */