return set;
 }
 
+static int perf_config__init(void)
+{
+       if (config_set == NULL)
+               config_set = perf_config_set__new();
+
+       return config_set == NULL;
+}
+
 int perf_config(config_fn_t fn, void *data)
 {
        int ret = 0;
        struct perf_config_section *section;
        struct perf_config_item *item;
 
-       if (config_set == NULL)
+       if (config_set == NULL && perf_config__init())
                return -1;
 
        perf_config_set__for_each_entry(config_set, section, item) {
        return ret;
 }
 
-void perf_config__init(void)
-{
-       if (config_set == NULL)
-               config_set = perf_config_set__new();
-}
-
 void perf_config__exit(void)
 {
        perf_config_set__delete(config_set);
 
 void perf_config_set__delete(struct perf_config_set *set);
 int perf_config_set__collect(struct perf_config_set *set, const char *file_name,
                             const char *var, const char *value);
-void perf_config__init(void);
 void perf_config__exit(void);
 void perf_config__refresh(void);