kconfig/lkc_proto.h
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
parent 943 1cca90ce0481
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
     1 #include <stdarg.h>
     2 
     3 /* confdata.c */
     4 P(conf_parse,void,(const char *name));
     5 P(conf_read,int,(const char *name));
     6 P(conf_read_simple,int,(const char *name, int));
     7 P(conf_write_defconfig,int,(const char *name));
     8 P(conf_write,int,(const char *name));
     9 P(conf_write_autoconf,int,(void));
    10 P(conf_get_changed,bool,(void));
    11 P(conf_set_changed_callback, void,(void (*fn)(void)));
    12 P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap)));
    13 
    14 /* menu.c */
    15 P(rootmenu,struct menu,);
    16 
    17 P(menu_is_visible, bool, (struct menu *menu));
    18 P(menu_has_prompt, bool, (struct menu *menu));
    19 P(menu_get_prompt,const char *,(struct menu *menu));
    20 P(menu_get_root_menu,struct menu *,(struct menu *menu));
    21 P(menu_get_parent_menu,struct menu *,(struct menu *menu));
    22 P(menu_has_help,bool,(struct menu *menu));
    23 P(menu_get_help,const char *,(struct menu *menu));
    24 P(get_symbol_str, void, (struct gstr *r, struct symbol *sym));
    25 P(get_relations_str, struct gstr, (struct symbol **sym_arr));
    26 P(menu_get_ext_help,void,(struct menu *menu, struct gstr *help));
    27 
    28 /* symbol.c */
    29 P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
    30 
    31 P(sym_lookup,struct symbol *,(const char *name, int flags));
    32 P(sym_find,struct symbol *,(const char *name));
    33 P(sym_expand_string_value,const char *,(const char *in));
    34 P(sym_re_search,struct symbol **,(const char *pattern));
    35 P(sym_type_name,const char *,(enum symbol_type type));
    36 P(sym_calc_value,void,(struct symbol *sym));
    37 P(sym_get_type,enum symbol_type,(struct symbol *sym));
    38 P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
    39 P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
    40 P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
    41 P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
    42 P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
    43 P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
    44 P(sym_is_changable,bool,(struct symbol *sym));
    45 P(sym_get_choice_prop,struct property *,(struct symbol *sym));
    46 P(sym_get_default_prop,struct property *,(struct symbol *sym));
    47 P(sym_get_string_value,const char *,(struct symbol *sym));
    48 
    49 P(prop_get_type_name,const char *,(enum prop_type type));
    50 
    51 /* expr.c */
    52 P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
    53 P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));