carl9170: config: fix patching errors and update CMakeFiles
[carl9170fw.git] / config / confdata.c
index a143cb3d8bb2cba9b0fd9cfab96c567a0c73ce58..57c09a7d3883914627ea3ababa9b6f1bbe486bd0 100644 (file)
@@ -582,46 +582,6 @@ kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
        fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value);
 }
 
-static void
-kconfig_print_cmake_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
-{
-
-       switch (sym->type) {
-       case S_BOOLEAN:
-       case S_TRISTATE:
-               if (*value == 'n') {
-                       bool skip_unset = (arg != NULL);
-
-                       if (!skip_unset)
-                               fprintf(fp, "set(%s%s false)\n",
-                                       CONFIG_, sym->name, value);
-                       return;
-               } else if (*value == 'm') {
-                       abort();
-               } else {
-                       fprintf(fp, "set(%s%s true)\n", CONFIG_, sym->name, value);
-               }
-               break;
-       case S_HEX: {
-               const char *prefix = "";
-
-               if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X'))
-                       prefix = "0x";
-               fprintf(fp, "set(%s%s %s%s)\n",
-                   CONFIG_, sym->name, prefix, value);
-               break;
-       }
-       case S_STRING:
-       case S_INT:
-               fprintf(fp, "set(%s%s %s)\n",
-                   CONFIG_, sym->name, value);
-               break;
-       default:
-               break;
-       }
-
-}
-
 static void
 kconfig_print_comment(FILE *fp, const char *value, void *arg)
 {
@@ -648,12 +608,6 @@ static struct conf_printer kconfig_printer_cb =
        .print_comment = kconfig_print_comment,
 };
 
-static struct conf_printer kconfig_printer_cmake_cb =
-{
-       .print_symbol = kconfig_print_cmake_symbol,
-       .print_comment = kconfig_print_comment,
-};
-
 /*
  * Header printer
  *
@@ -1061,13 +1015,17 @@ static int conf_touch_deps(void)
        return 0;
 }
 
-int conf_write_autoconf(void)
+int conf_write_autoconf(int overwrite)
 {
        struct symbol *sym;
        const char *name;
-       FILE *out, *tristate, *out_h, *out_c;
+       const char *autoconf_name = conf_get_autoconfig_name();
+       FILE *out, *tristate, *out_h;
        int i;
 
+       if (!overwrite && is_present(autoconf_name))
+               return 0;
+
        sym_clear_all_valid();
 
        conf_write_dep("include/generated/auto.conf.cmd");
@@ -1092,21 +1050,12 @@ int conf_write_autoconf(void)
                return 1;
        }
 
-       out_c = fopen(".tmpconfig.cmake", "w");
-       if (!out_c) {
-               fclose(out);
-               fclose(tristate);
-               fclose(out_h);
-       }
-
        conf_write_heading(out, &kconfig_printer_cb, NULL);
 
        conf_write_heading(tristate, &tristate_printer_cb, NULL);
 
        conf_write_heading(out_h, &header_printer_cb, NULL);
 
-       conf_write_heading(out_c, &kconfig_printer_cmake_cb, NULL);
-
        for_all_symbols(i, sym) {
                sym_calc_value(sym);
                if (!(sym->flags & SYMBOL_WRITE) || !sym->name)
@@ -1118,13 +1067,10 @@ int conf_write_autoconf(void)
                conf_write_symbol(tristate, sym, &tristate_printer_cb, (void *)1);
 
                conf_write_symbol(out_h, sym, &header_printer_cb, NULL);
-
-               conf_write_symbol(out_c, sym, &kconfig_printer_cmake_cb, NULL);
        }
        fclose(out);
        fclose(tristate);
        fclose(out_h);
-       fclose(out_c);
 
        name = getenv("KCONFIG_AUTOHEADER");
        if (!name)
@@ -1142,23 +1088,13 @@ int conf_write_autoconf(void)
        if (rename(".tmpconfig_tristate", name))
                return 1;
 
-       name = getenv("KCONFIG_CMAKE");
-       if (!name)
-               name = "config.cmake";
-       if (make_parent_dir(name))
+       if (make_parent_dir(autoconf_name))
                return 1;
-       if (rename(".tmpconfig.cmake", name))
-               return 1;
-
-       name = conf_get_autoconfig_name();
-       if (make_parent_dir(name))
-               return 1;
-
        /*
         * This must be the last step, kbuild has a dependency on auto.conf
         * and this marks the successful completion of the previous steps.
         */
-       if (rename(".tmpconfig", name))
+       if (rename(".tmpconfig", autoconf_name))
                return 1;
 
        return 0;