Message ID | 1343256982-11421-1-git-send-email-salaarali@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 07/25/2012 03:56 PM, Salar Ali Mumtaz wrote: > Displays the current value of each of the dependencies of a menu item. > Before, you needed to do tedious searching to find out the current values > of the dependences. Now they all are included in the debug_info, making > the task easier Hi, Would you please provide before and after examples? I use xconfig quite a lot and it already shows me, e.g., for CONFIG_DRM: Symbol: DRM [=y] Type : tristate Prompt: Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) Defined at drivers/gpu/drm/Kconfig:7 Depends on: HAS_IOMEM [=y] && (AGP [=y] || AGP [=y]=n) && !EMULATED_CMPXCHG && MMU [=y] Location: -> Device Drivers -> Graphics support Selects: I2C [=y] && I2C_ALGOBIT [=y] && DMA_SHARED_BUFFER [=y] so what and where does this patch add debug info? Thanks. > Signed-off-by: Salar Ali Mumtaz <salaarali@gmail.com> > --- > scripts/kconfig/qconf.cc | 10 +++++++++- > 1 files changed, 9 insertions(+), 1 deletions(-) > > diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc > index df274fe..abd500f 100644 > --- a/scripts/kconfig/qconf.cc > +++ b/scripts/kconfig/qconf.cc > @@ -1073,8 +1073,10 @@ QString ConfigInfoView::debug_info(struct symbol *sym) > debug += " (choice)"; > debug += "<br>"; > if (sym->rev_dep.expr) { > - debug += "reverse dep: "; > + debug += "reverse dep: ("; > expr_print(sym->rev_dep.expr, expr_print_help, &debug, E_NONE); > + debug += " ) ="; > + debug += print_filter(sym_get_string_value(sym)); > debug += "<br>"; > } > for (struct property *prop = sym->prop; prop; prop = prop->next) { > @@ -1108,7 +1110,10 @@ QString ConfigInfoView::debug_info(struct symbol *sym) > } > if (prop->visible.expr) { > debug += " dep: "; > + debug += " ( "; > expr_print(prop->visible.expr, expr_print_help, &debug, E_NONE); > + debug += " ) ="; > + debug += print_filter(sym_get_string_value(sym)); > debug += "<br>"; > } > } > @@ -1157,6 +1162,9 @@ void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char > *text += QString().sprintf("<a href=\"s%p\">", sym); > *text += str2; > *text += "</a>"; > + *text += "<b> "; > + *text += print_filter(sym_get_string_value(sym)); > + *text += "</b>"; > } else > *text += str2; > }
On 07/26/2012 09:19 AM, Salar Ali Mumtaz wrote: > Hi. > > Thanks for the quick reply. > > This adds the current values to the dependencies in the debug_info, which you get when you select "Show debug info" > from the popup you get after you right click. For some values, there is no help available. For those, there is usually > information in the debug_info that is not displayed normally. > > COMPAT_BINFMT_ELF > > //This is added by debug_info > type: boolean > reverse dep: (IA32_EMULATION n && X86_64 n ) =n > unknown property: symbol > dep: ( COMPAT n && BINFMT_ELF y ) =n > //This is added by debug_info > > defined at fs/Kconfig.binfmt:26 > > There is no help available for this option. > Symbol: COMPAT_BINFMT_ELF [=n] > Type : boolean > Selected by: IA32_EMULATION [=n] && X86_64 [=n] > > Hope this helps. > Yes, it does help. Thanks. For BINFMT_ELF (not your example of COMPAT_BINFMT_ELF) in Linux 3.5, I see this: BEFORE PATCH: type: boolean unknown property: symbol dep: MMU && (BROKEN || !FRV) prompt: Kernel support for ELF binaries dep: MMU && (BROKEN || !FRV) default: y dep: MMU && (BROKEN || !FRV) defined at fs/Kconfig.binfmt:1 AFTER PATCH: type: boolean unknown property: symbol dep: ( MMU y && (BROKEN n || !FRV FRV) ) =y prompt: Kernel support for ELF binaries dep: ( MMU y && (BROKEN n || !FRV FRV) ) =y default: y dep: ( MMU y && (BROKEN n || !FRV FRV) ) =y defined at fs/Kconfig.binfmt:1 The added y/n/m are clear, but the "!FRV FRV" is confusing, isn't it?
On 12-07-26 01:02 PM, Randy Dunlap wrote: > > The added y/n/m are clear, but the "!FRV FRV" is confusing, > isn't it? > > Yes. But that is easily fixable. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12-07-26 01:02 PM, Randy Dunlap wrote: > The added y/n/m are clear, but the "!FRV FRV" is confusing, > isn't it? > > Is this notation clear ? Kernel support for ELF binaries (BINFMT_ELF) type: boolean unknown property: symbol dep: ( MMU [=y] && (BROKEN [n] || !FRV [= ""]) ) [=y] prompt: Kernel support for ELF binaries dep: ( MMU [=y] && (BROKEN [n] || !FRV [= ""]) ) [=y] default: y dep: ( MMU [=y] && (BROKEN [n] || !FRV [= ""]) ) [=y] If not, could you suggest a better way to represent this information? Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 08/07/2012 09:08 AM, Salar Ali Mumtaz wrote: > On 12-07-26 01:02 PM, Randy Dunlap wrote: > >> The added y/n/m are clear, but the "!FRV FRV" is confusing, >> isn't it? >> >> > > Is this notation clear ? > > Kernel support for ELF binaries (BINFMT_ELF) > > type: boolean > unknown property: symbol > dep: ( MMU [=y] && (BROKEN [n] || !FRV [= ""]) ) [=y] > prompt: Kernel support for ELF binaries > dep: ( MMU [=y] && (BROKEN [n] || !FRV [= ""]) ) [=y] > default: y > dep: ( MMU [=y] && (BROKEN [n] || !FRV [= ""]) ) [=y] In Kconfig language, is "" the same as 'n' ? If so, I'm OK with your proposal above. > If not, could you suggest a better way to represent this information? > > Thanks. thanks,
On 12-08-07 12:55 PM, Randy Dunlap wrote: > In Kconfig language, is "" the same as 'n' ? > If so, I'm OK with your proposal above. > So a colleague of mine tested this and came up with a conclusion that expressions in Kconfig can only deal with boolean or tristate operands and no casting is made with strings. Using any string operand as part of a boolean expression is simply a type error and Kconfig probably marks such operand as 'n', regardless of its value. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 08/09/2012 11:54 AM, Salar Ali Mumtaz wrote: > On 12-08-07 12:55 PM, Randy Dunlap wrote: > >> In Kconfig language, is "" the same as 'n' ? >> If so, I'm OK with your proposal above. >> > > > So a colleague of mine tested this and came up with a conclusion that expressions in Kconfig can only deal with boolean or tristate operands and no casting is made with strings. Using any string operand as part of a boolean expression is simply a type error and Kconfig probably marks such operand as 'n', regardless of its value. > My question was about FRV, which is a boolean, but still did not display as 'n' in your example.
On 12-08-10 08:39 PM, Randy Dunlap wrote: > On 08/09/2012 11:54 AM, Salar Ali Mumtaz wrote: > >> On 12-08-07 12:55 PM, Randy Dunlap wrote: >> >>> In Kconfig language, is "" the same as 'n' ? >>> If so, I'm OK with your proposal above. >>> >> >> >> So a colleague of mine tested this and came up with a conclusion that expressions in Kconfig can only deal with boolean or tristate operands and no casting is made with strings. Using any string operand as part of a boolean expression is simply a type error and Kconfig probably marks such operand as 'n', regardless of its value. >> > > > My question was about FRV, which is a boolean, > but still did not display as 'n' in your example. > > FRV is not a boolean. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 08/15/2012 09:32 AM, Salar Ali Mumtaz wrote: > On 12-08-10 08:39 PM, Randy Dunlap wrote: >> On 08/09/2012 11:54 AM, Salar Ali Mumtaz wrote: >> >>> On 12-08-07 12:55 PM, Randy Dunlap wrote: >>> >>>> In Kconfig language, is "" the same as 'n' ? >>>> If so, I'm OK with your proposal above. >>>> >>> >>> >>> So a colleague of mine tested this and came up with a conclusion that expressions in Kconfig can only deal with boolean or tristate operands and no casting is made with strings. Using any string operand as part of a boolean expression is simply a type error and Kconfig probably marks such operand as 'n', regardless of its value. >>> >> >> >> My question was about FRV, which is a boolean, >> but still did not display as 'n' in your example. >> >> > > FRV is not a boolean. Hm, why do you say that? Please explain. from arch/frv/Kconfig: config FRV bool default y
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc index df274fe..abd500f 100644 --- a/scripts/kconfig/qconf.cc +++ b/scripts/kconfig/qconf.cc @@ -1073,8 +1073,10 @@ QString ConfigInfoView::debug_info(struct symbol *sym) debug += " (choice)"; debug += "<br>"; if (sym->rev_dep.expr) { - debug += "reverse dep: "; + debug += "reverse dep: ("; expr_print(sym->rev_dep.expr, expr_print_help, &debug, E_NONE); + debug += " ) ="; + debug += print_filter(sym_get_string_value(sym)); debug += "<br>"; } for (struct property *prop = sym->prop; prop; prop = prop->next) { @@ -1108,7 +1110,10 @@ QString ConfigInfoView::debug_info(struct symbol *sym) } if (prop->visible.expr) { debug += " dep: "; + debug += " ( "; expr_print(prop->visible.expr, expr_print_help, &debug, E_NONE); + debug += " ) ="; + debug += print_filter(sym_get_string_value(sym)); debug += "<br>"; } } @@ -1157,6 +1162,9 @@ void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char *text += QString().sprintf("<a href=\"s%p\">", sym); *text += str2; *text += "</a>"; + *text += "<b> "; + *text += print_filter(sym_get_string_value(sym)); + *text += "</b>"; } else *text += str2; }
Displays the current value of each of the dependencies of a menu item. Before, you needed to do tedious searching to find out the current values of the dependences. Now they all are included in the debug_info, making the task easier Signed-off-by: Salar Ali Mumtaz <salaarali@gmail.com> --- scripts/kconfig/qconf.cc | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-)