From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932134AbcEXGup (ORCPT ); Tue, 24 May 2016 02:50:45 -0400 Received: from mail-pa0-f68.google.com ([209.85.220.68]:32979 "EHLO mail-pa0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754324AbcEXGuk (ORCPT ); Tue, 24 May 2016 02:50:40 -0400 From: Taeung Song To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, Jiri Olsa , Namhyung Kim , Ingo Molnar , Peter Zijlstra , Alexander Shishkin , Masami Hiramatsu , Taeung Song , Jiri Olsa , Masami Hiramatsu Subject: [PATCH v3 2/7] perf config: Add 'colors' section default configs arrrays Date: Tue, 24 May 2016 15:50:21 +0900 Message-Id: <1464072626-21161-3-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1464072626-21161-1-git-send-email-treeze.taeung@gmail.com> References: <1464072626-21161-1-git-send-email-treeze.taeung@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Actual variable for configs of 'colors' section is like below. (at ui/browser.c) static struct ui_browser_colorset { const char *name, *fg, *bg; int colorset; } ui_browser__colorsets[] = { { .colorset = HE_COLORSET_TOP, .name = "top", .fg = "red", .bg = "default", }, ... But I suggest using 'colors' default config array that have all default config key-value pairs for 'colors' section In near future, this array will be used on ui/browser.c because of setting default actual variable for 'colors' config. Cc: Namhyung Kim Cc: Jiri Olsa Cc: Masami Hiramatsu Cc: Alexander Shishkin Signed-off-by: Taeung Song --- tools/perf/util/cache.h | 1 + tools/perf/util/config.c | 17 ++++++++++++++++- tools/perf/util/config.h | 18 +++++++++++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/cache.h b/tools/perf/util/cache.h index 0d814bb..54bbd55 100644 --- a/tools/perf/util/cache.h +++ b/tools/perf/util/cache.h @@ -7,6 +7,7 @@ #include #include "../perf.h" #include "../ui/ui.h" +#include "config.h" #include diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c index dad7d82..e38d187 100644 --- a/tools/perf/util/config.c +++ b/tools/perf/util/config.c @@ -29,6 +29,21 @@ static int config_file_eof; const char *config_exclusive_filename; +const struct perf_config_section default_sections[] = { + { .name = "colors" }, +}; + +const struct default_config_item colors_config_items[] = { + CONF_STR_VAR("top", "red, default"), + CONF_STR_VAR("medium", "green, default"), + CONF_STR_VAR("normal", "default, default"), + CONF_STR_VAR("selected", "black, yellow"), + CONF_STR_VAR("jump_arrows", "blue, default"), + CONF_STR_VAR("addr", "magenta, default"), + CONF_STR_VAR("root", "white, blue"), + CONF_END() +}; + static int get_next_char(void) { int c; @@ -677,7 +692,7 @@ static void perf_config_section__purge(struct perf_config_section *section) static void perf_config_section__delete(struct perf_config_section *section) { perf_config_section__purge(section); - zfree(§ion->name); + zfree((char **)§ion->name); free(section); } diff --git a/tools/perf/util/config.h b/tools/perf/util/config.h index 5a11ca6..f2220a8 100644 --- a/tools/perf/util/config.h +++ b/tools/perf/util/config.h @@ -35,7 +35,7 @@ struct perf_config_item { }; struct perf_config_section { - char *name; + const char *name; struct list_head items; struct list_head node; }; @@ -44,6 +44,20 @@ struct perf_config_set { struct list_head sections; }; +enum config_section_idx { + CONFIG_COLORS, +}; + +enum colors_config_items_idx { + CONFIG_COLORS_TOP, + CONFIG_COLORS_MEDIUM, + CONFIG_COLORS_NORMAL, + CONFIG_COLORS_SELECTED, + CONFIG_COLORS_JUMP_ARROWS, + CONFIG_COLORS_ADDR, + CONFIG_COLORS_ROOT, +}; + #define CONF_VAR(_name, _field, _val, _type) \ { .name = _name, .value._field = _val, .type = _type } @@ -64,6 +78,8 @@ struct perf_config_set { #define CONF_END() \ { .name = NULL } +extern const struct default_config_item colors_config_items[]; + struct perf_config_set *perf_config_set__new(void); void perf_config_set__delete(struct perf_config_set *set); -- 2.5.0