summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjorn Andersson <bjorn.andersson@linaro.org>2018-02-15 12:46:19 -0800
committerBjorn Andersson <bjorn.andersson@linaro.org>2018-02-15 12:46:19 -0800
commit3f62f9ba1e38adfc19f386ab6cf70b94948532f4 (patch)
tree80d946f4a59049d7c41aaaa34ab57b306a698d1f
parent8e5daab4a693145b7f581d657e92172513eb72b0 (diff)
kernel: Support static arrays
Statically sized arrays should not have a len property and should be marked as STATIC_ARRAY in the elem_info list. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
-rw-r--r--kernel.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/kernel.c b/kernel.c
index a8007ae..b6127bd 100644
--- a/kernel.c
+++ b/kernel.c
@@ -156,7 +156,18 @@ static void emit_native_ei(FILE *fp, const char *package, struct qmi_message *qm
package, qm->name, qmm->name, qmm->id);
}
- if (qmm->array_size) {
+ if (qmm->array_fixed) {
+ fprintf(fp, "\t{\n"
+ "\t\t.data_type = QMI_UNSIGNED_1_BYTE,\n"
+ "\t\t.elem_len = %5$d,\n"
+ "\t\t.elem_size = sizeof(%6$s),\n"
+ "\t\t.array_type = STATIC_ARRAY,\n"
+ "\t\t.tlv_type = %4$d,\n"
+ "\t\t.offset = offsetof(struct %1$s_%2$s, %3$s),\n"
+ "\t},\n",
+ package, qm->name, qmm->name, qmm->id, qmm->array_size,
+ sz_native_types[qmm->type]);
+ } else if (qmm->array_size) {
fprintf(fp, "\t{\n"
"\t\t.data_type = QMI_DATA_LEN,\n"
"\t\t.elem_len = 1,\n"