1 /* Generated by ./src/xlat/gen.sh from ./src/xlat/rtc_feature_bits.in; do not edit. */
2
3 #include "gcc_compat.h"
4 #include "static_assert.h"
5
6 #if defined(RTC_FEATURE_ALARM) || (defined(HAVE_DECL_RTC_FEATURE_ALARM) && HAVE_DECL_RTC_FEATURE_ALARM)
7 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
8 static_assert((RTC_FEATURE_ALARM) == (0), "RTC_FEATURE_ALARM != 0");
9 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
10 #else
11 # define RTC_FEATURE_ALARM 0
12 #endif
13 #if defined(RTC_FEATURE_ALARM_RES_MINUTE) || (defined(HAVE_DECL_RTC_FEATURE_ALARM_RES_MINUTE) && HAVE_DECL_RTC_FEATURE_ALARM_RES_MINUTE)
14 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
15 static_assert((RTC_FEATURE_ALARM_RES_MINUTE) == (1), "RTC_FEATURE_ALARM_RES_MINUTE != 1");
16 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
17 #else
18 # define RTC_FEATURE_ALARM_RES_MINUTE 1
19 #endif
20 #if defined(RTC_FEATURE_NEED_WEEK_DAY) || (defined(HAVE_DECL_RTC_FEATURE_NEED_WEEK_DAY) && HAVE_DECL_RTC_FEATURE_NEED_WEEK_DAY)
21 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
22 static_assert((RTC_FEATURE_NEED_WEEK_DAY) == (2), "RTC_FEATURE_NEED_WEEK_DAY != 2");
23 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
24 #else
25 # define RTC_FEATURE_NEED_WEEK_DAY 2
26 #endif
27 #if defined(RTC_FEATURE_ALARM_RES_2S) || (defined(HAVE_DECL_RTC_FEATURE_ALARM_RES_2S) && HAVE_DECL_RTC_FEATURE_ALARM_RES_2S)
28 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
29 static_assert((RTC_FEATURE_ALARM_RES_2S) == (3), "RTC_FEATURE_ALARM_RES_2S != 3");
30 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
31 #else
32 # define RTC_FEATURE_ALARM_RES_2S 3
33 #endif
34 #if defined(RTC_FEATURE_UPDATE_INTERRUPT) || (defined(HAVE_DECL_RTC_FEATURE_UPDATE_INTERRUPT) && HAVE_DECL_RTC_FEATURE_UPDATE_INTERRUPT)
35 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
36 static_assert((RTC_FEATURE_UPDATE_INTERRUPT) == (4), "RTC_FEATURE_UPDATE_INTERRUPT != 4");
37 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
38 #else
39 # define RTC_FEATURE_UPDATE_INTERRUPT 4
40 #endif
41 #if defined(RTC_FEATURE_CORRECTION) || (defined(HAVE_DECL_RTC_FEATURE_CORRECTION) && HAVE_DECL_RTC_FEATURE_CORRECTION)
42 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
43 static_assert((RTC_FEATURE_CORRECTION) == (5), "RTC_FEATURE_CORRECTION != 5");
44 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
45 #else
46 # define RTC_FEATURE_CORRECTION 5
47 #endif
48 #if defined(RTC_FEATURE_BACKUP_SWITCH_MODE) || (defined(HAVE_DECL_RTC_FEATURE_BACKUP_SWITCH_MODE) && HAVE_DECL_RTC_FEATURE_BACKUP_SWITCH_MODE)
49 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
50 static_assert((RTC_FEATURE_BACKUP_SWITCH_MODE) == (6), "RTC_FEATURE_BACKUP_SWITCH_MODE != 6");
51 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
52 #else
53 # define RTC_FEATURE_BACKUP_SWITCH_MODE 6
54 #endif
55 #if defined(RTC_FEATURE_ALARM_WAKEUP_ONLY) || (defined(HAVE_DECL_RTC_FEATURE_ALARM_WAKEUP_ONLY) && HAVE_DECL_RTC_FEATURE_ALARM_WAKEUP_ONLY)
56 DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
57 static_assert((RTC_FEATURE_ALARM_WAKEUP_ONLY) == (7), "RTC_FEATURE_ALARM_WAKEUP_ONLY != 7");
58 DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
59 #else
60 # define RTC_FEATURE_ALARM_WAKEUP_ONLY 7
61 #endif
62 #undef XLAT_PREV_VAL
63
64 #ifndef XLAT_MACROS_ONLY
65
66 # ifdef IN_MPERS
67
68 extern const struct xlat rtc_feature_bits[];
69
70 # else
71
72 DIAG_PUSH_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
73 static const struct xlat_data rtc_feature_bits_xdata[] = {
74 [RTC_FEATURE_ALARM] = XLAT(RTC_FEATURE_ALARM),
75 #define XLAT_VAL_0 ((unsigned) (RTC_FEATURE_ALARM))
76 #define XLAT_STR_0 STRINGIFY(RTC_FEATURE_ALARM)
77 [RTC_FEATURE_ALARM_RES_MINUTE] = XLAT(RTC_FEATURE_ALARM_RES_MINUTE),
78 #define XLAT_VAL_1 ((unsigned) (RTC_FEATURE_ALARM_RES_MINUTE))
79 #define XLAT_STR_1 STRINGIFY(RTC_FEATURE_ALARM_RES_MINUTE)
80 [RTC_FEATURE_NEED_WEEK_DAY] = XLAT(RTC_FEATURE_NEED_WEEK_DAY),
81 #define XLAT_VAL_2 ((unsigned) (RTC_FEATURE_NEED_WEEK_DAY))
82 #define XLAT_STR_2 STRINGIFY(RTC_FEATURE_NEED_WEEK_DAY)
83 [RTC_FEATURE_ALARM_RES_2S] = XLAT(RTC_FEATURE_ALARM_RES_2S),
84 #define XLAT_VAL_3 ((unsigned) (RTC_FEATURE_ALARM_RES_2S))
85 #define XLAT_STR_3 STRINGIFY(RTC_FEATURE_ALARM_RES_2S)
86 [RTC_FEATURE_UPDATE_INTERRUPT] = XLAT(RTC_FEATURE_UPDATE_INTERRUPT),
87 #define XLAT_VAL_4 ((unsigned) (RTC_FEATURE_UPDATE_INTERRUPT))
88 #define XLAT_STR_4 STRINGIFY(RTC_FEATURE_UPDATE_INTERRUPT)
89 [RTC_FEATURE_CORRECTION] = XLAT(RTC_FEATURE_CORRECTION),
90 #define XLAT_VAL_5 ((unsigned) (RTC_FEATURE_CORRECTION))
91 #define XLAT_STR_5 STRINGIFY(RTC_FEATURE_CORRECTION)
92 [RTC_FEATURE_BACKUP_SWITCH_MODE] = XLAT(RTC_FEATURE_BACKUP_SWITCH_MODE),
93 #define XLAT_VAL_6 ((unsigned) (RTC_FEATURE_BACKUP_SWITCH_MODE))
94 #define XLAT_STR_6 STRINGIFY(RTC_FEATURE_BACKUP_SWITCH_MODE)
95 [RTC_FEATURE_ALARM_WAKEUP_ONLY] = XLAT(RTC_FEATURE_ALARM_WAKEUP_ONLY),
96 #define XLAT_VAL_7 ((unsigned) (RTC_FEATURE_ALARM_WAKEUP_ONLY))
97 #define XLAT_STR_7 STRINGIFY(RTC_FEATURE_ALARM_WAKEUP_ONLY)
98
99 };
100 # if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
101 static
102 # endif
103 const struct xlat rtc_feature_bits[1] = { {
104 .data = rtc_feature_bits_xdata,
105 .size = ARRAY_SIZE(rtc_feature_bits_xdata),
106 .type = XT_INDEXED,
107 .flags_mask = 0
108 # ifdef XLAT_VAL_0
109 | XLAT_VAL_0
110 # endif
111 # ifdef XLAT_VAL_1
112 | XLAT_VAL_1
113 # endif
114 # ifdef XLAT_VAL_2
115 | XLAT_VAL_2
116 # endif
117 # ifdef XLAT_VAL_3
118 | XLAT_VAL_3
119 # endif
120 # ifdef XLAT_VAL_4
121 | XLAT_VAL_4
122 # endif
123 # ifdef XLAT_VAL_5
124 | XLAT_VAL_5
125 # endif
126 # ifdef XLAT_VAL_6
127 | XLAT_VAL_6
128 # endif
129 # ifdef XLAT_VAL_7
130 | XLAT_VAL_7
131 # endif
132 ,
133 .flags_strsz = 0
134 # ifdef XLAT_STR_0
135 + sizeof(XLAT_STR_0)
136 # endif
137 # ifdef XLAT_STR_1
138 + sizeof(XLAT_STR_1)
139 # endif
140 # ifdef XLAT_STR_2
141 + sizeof(XLAT_STR_2)
142 # endif
143 # ifdef XLAT_STR_3
144 + sizeof(XLAT_STR_3)
145 # endif
146 # ifdef XLAT_STR_4
147 + sizeof(XLAT_STR_4)
148 # endif
149 # ifdef XLAT_STR_5
150 + sizeof(XLAT_STR_5)
151 # endif
152 # ifdef XLAT_STR_6
153 + sizeof(XLAT_STR_6)
154 # endif
155 # ifdef XLAT_STR_7
156 + sizeof(XLAT_STR_7)
157 # endif
158 ,
159 } };
160 DIAG_POP_IGNORE_TAUTOLOGICAL_CONSTANT_COMPARE
161
162 # undef XLAT_STR_0
163 # undef XLAT_VAL_0
164 # undef XLAT_STR_1
165 # undef XLAT_VAL_1
166 # undef XLAT_STR_2
167 # undef XLAT_VAL_2
168 # undef XLAT_STR_3
169 # undef XLAT_VAL_3
170 # undef XLAT_STR_4
171 # undef XLAT_VAL_4
172 # undef XLAT_STR_5
173 # undef XLAT_VAL_5
174 # undef XLAT_STR_6
175 # undef XLAT_VAL_6
176 # undef XLAT_STR_7
177 # undef XLAT_VAL_7
178 # endif /* !IN_MPERS */
179
180 #endif /* !XLAT_MACROS_ONLY */