/* * Generate devlist.h from the Zorro ID file. * * (c) 2000 Geert Uytterhoeven * * Based on the PCI version: * * (c) 1999--2000 Martin Mares */ #include #include #define MAX_NAME_SIZE 63 static void pq(FILE *f, const char *c) { while (*c) { if (*c == '"') fprintf(f, "\\\""); else fputc(*c, f); c++; } } int main(void) { char line[1024], *c, *bra, manuf[8]; int manufs = 0; int mode = 0; int lino = 0; int manuf_len = 0; FILE *devf; devf = fopen("devlist.h", "w"); if (!devf) { fprintf(stderr, "Cannot create output file!\n"); return 1; } while (fgets(line, sizeof(line)-1, stdin)) { lino++; if ((c = strchr(line, '\n'))) *c = 0; if (!line[0] || line[0] == '#') continue; if (line[0] == '\t') { switch (mode) { case 1: if (strlen(line) > 5 && line[5] == ' ') { c = line + 5; while (*c == ' ') *c++ = 0; if (manuf_len + strlen(c) + 1 > MAX_NAME_SIZE) { /* Too long, try cutting off long description */ bra = strchr(c, '['); if (bra && bra > c && bra[-1] == ' ') bra[-1] = 0; if (manuf_len + strlen(c) + 1 > MAX_NAME_SIZE) { fprintf(stderr, "Line %d: Product name too long\n", lino); return 1; } } fprintf(devf, "\tPRODUCT(%s,%s,\"", manuf, line+1); pq(devf, c); fputs("\")\n", devf); } else goto err; break; default: goto err; } } else if (strlen(line) > 4 && line[4] == ' ') { c = line + 4; while (*c == ' ') *c++ = 0; if (manufs) fputs("ENDMANUF()\n\n", devf); manufs++; strcpy(manuf, line); manuf_len = strlen(c); if (manuf_len + 24 > MAX_NAME_SIZE) { fprintf(stderr, "Line %d: manufacturer name too long\n", lino); return 1; } fprintf(devf, "MANUF(%s,\"", manuf); pq(devf, c); fputs("\")\n", devf); mode = 1; } else { err: fprintf(stderr, "Line %d: Syntax error in mode %d: %s\n", lino, mode, line); return 1; } } fputs("ENDMANUF()\n\ \n\ #undef MANUF\n\ #undef PRODUCT\n\ #undef ENDMANUF\n", devf); fclose(devf); return 0; } ndings/sound/tas2552.h?id=228c8c6b1f4376788e9d5ab00d50b10228eb40d3'>diff
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2017-01-26 17:15:44 +0100
committerJohannes Berg <johannes.berg@intel.com>2017-01-26 18:03:09 +0100
commit228c8c6b1f4376788e9d5ab00d50b10228eb40d3 (patch)
treedfd7010fa9480284fe72bb2c4ab50a5225792a10 /include/dt-bindings/sound/tas2552.h
parent731977e97b3697454a862fec656c2561eabc0b87 (diff)
wireless: define cipher/AKM suites using a macro
The spec writes cipher/AKM suites as something like 00-0F-AC:9, but the part after the colon isn't hex, it's decimal, so that we've already had a few mistakes (in other code, or unmerged patches) to e.g. write 0x000FAC10 instead of 0x000FAC0A. Use a macro to avoid that problem. Reviewed-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/dt-bindings/sound/tas2552.h')