carl9170: Update based on commit 467556acea56f361a21b2a3761ca056b9da2d237 dated Nov...
[linux-libre-firmware.git] / carl9170fw / config / kconf_id.c
diff --git a/carl9170fw/config/kconf_id.c b/carl9170fw/config/kconf_id.c
new file mode 100644 (file)
index 0000000..5abbc72
--- /dev/null
@@ -0,0 +1,54 @@
+
+static struct kconf_id kconf_id_array[] = {
+       { "mainmenu",           T_MAINMENU,             TF_COMMAND },
+       { "menu",               T_MENU,                 TF_COMMAND },
+       { "endmenu",            T_ENDMENU,              TF_COMMAND },
+       { "source",             T_SOURCE,               TF_COMMAND },
+       { "choice",             T_CHOICE,               TF_COMMAND },
+       { "endchoice",          T_ENDCHOICE,            TF_COMMAND },
+       { "comment",            T_COMMENT,              TF_COMMAND },
+       { "config",             T_CONFIG,               TF_COMMAND },
+       { "menuconfig",         T_MENUCONFIG,           TF_COMMAND },
+       { "help",               T_HELP,                 TF_COMMAND },
+       { "---help---",         T_HELP,                 TF_COMMAND },
+       { "if",                 T_IF,                   TF_COMMAND|TF_PARAM },
+       { "endif",              T_ENDIF,                TF_COMMAND },
+       { "depends",            T_DEPENDS,              TF_COMMAND },
+       { "optional",           T_OPTIONAL,             TF_COMMAND },
+       { "default",            T_DEFAULT,              TF_COMMAND, S_UNKNOWN },
+       { "prompt",             T_PROMPT,               TF_COMMAND },
+       { "tristate",           T_TYPE,                 TF_COMMAND, S_TRISTATE },
+       { "def_tristate",       T_DEFAULT,              TF_COMMAND, S_TRISTATE },
+       { "bool",               T_TYPE,                 TF_COMMAND, S_BOOLEAN },
+       { "boolean",            T_TYPE,                 TF_COMMAND, S_BOOLEAN },
+       { "def_bool",           T_DEFAULT,              TF_COMMAND, S_BOOLEAN },
+       { "int",                T_TYPE,                 TF_COMMAND, S_INT },
+       { "hex",                T_TYPE,                 TF_COMMAND, S_HEX },
+       { "string",             T_TYPE,                 TF_COMMAND, S_STRING },
+       { "select",             T_SELECT,               TF_COMMAND },
+       { "imply",              T_IMPLY,                TF_COMMAND },
+       { "range",              T_RANGE,                TF_COMMAND },
+       { "visible",            T_VISIBLE,              TF_COMMAND },
+       { "option",             T_OPTION,               TF_COMMAND },
+       { "on",                 T_ON,                   TF_PARAM },
+       { "modules",            T_OPT_MODULES,          TF_OPTION },
+       { "defconfig_list",     T_OPT_DEFCONFIG_LIST,   TF_OPTION },
+       { "env",                T_OPT_ENV,              TF_OPTION },
+       { "allnoconfig_y",      T_OPT_ALLNOCONFIG_Y,    TF_OPTION },
+};
+
+#define KCONF_ID_ARRAY_SIZE (sizeof(kconf_id_array)/sizeof(struct kconf_id))
+
+static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len)
+{
+       int i;
+
+       for (i = 0; i < KCONF_ID_ARRAY_SIZE; i++) {
+               struct kconf_id *id = kconf_id_array+i;
+               int l = strlen(id->name);
+
+               if (len == l && !memcmp(str, id->name, len))
+                       return id;
+       }
+       return NULL;
+}