* [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional
@ 2018-11-26 7:22 Masahiro Yamada
2018-11-26 7:22 ` [PATCH 2/2] kconfig: tests: test " Masahiro Yamada
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Masahiro Yamada @ 2018-11-26 7:22 UTC (permalink / raw)
To: linux-kbuild
Cc: Ulf Magnusson, Randy Dunlap, Taehee Yoo, Masahiro Yamada, linux-kernel
A Kconfig property can have an optional if-expression, which describes
its visibility. The property is visible when the if-expression part is
evaluated to 'y' or 'm'.
The 'select' and 'imply' properties are internally converted to reverse
dependencies, but they are wrongly converted if they have a tristate
if-expression.
Example:
config A
tristate "a"
config B
tristate "b"
select A if C
config C
tristate "c"
Currently, the reverse dependency of 'A' results in 'B && C'.
It is incorrect because the combination of B=y and C=m allows
'A' to become 'm', while its lower limit must be 'y'.
The reverse dependency should be 'B && C != n'.
Randy Dunlap reported that people are trying to fix an individual
Kconfig file [1], and I also found another example in the past,
commit 9d9c98e89ee2 ("pcmcia: fix yenta dependency on PCCARD_NONSTATIC")
but I suspect this is a bug of Kconfig itself.
[1] https://www.spinics.net/lists/netfilter-devel/msg56985.html
Reported-by: Taehee Yoo <ap420073@gmail.com>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
| 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index 4cf15d4..2b18833 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -401,11 +401,13 @@ void menu_finalize(struct menu *parent)
if (prop->type == P_SELECT) {
struct symbol *es = prop_get_symbol(prop);
es->rev_dep.expr = expr_alloc_or(es->rev_dep.expr,
- expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep)));
+ expr_alloc_and(expr_alloc_symbol(menu->sym),
+ expr_trans_compare(dep, E_UNEQUAL, &symbol_no)));
} else if (prop->type == P_IMPLY) {
struct symbol *es = prop_get_symbol(prop);
es->implied.expr = expr_alloc_or(es->implied.expr,
- expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep)));
+ expr_alloc_and(expr_alloc_symbol(menu->sym),
+ expr_trans_compare(dep, E_UNEQUAL, &symbol_no)));
}
}
}
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] kconfig: tests: test reverse dependency with tristate if-conditional
2018-11-26 7:22 [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional Masahiro Yamada
@ 2018-11-26 7:22 ` Masahiro Yamada
2018-11-27 1:09 ` kbuild test robot
2018-11-26 8:15 ` [PATCH 1/2] kconfig: fix " kbuild test robot
2018-11-26 8:37 ` kbuild test robot
2 siblings, 1 reply; 6+ messages in thread
From: Masahiro Yamada @ 2018-11-26 7:22 UTC (permalink / raw)
To: linux-kbuild
Cc: Ulf Magnusson, Randy Dunlap, Taehee Yoo, Masahiro Yamada, linux-kernel
Add a test-case for the fixed reverse dependency handling.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
.../kconfig/tests/revdep_with_tristate_if/Kconfig | 21 +++++++++++++++++++++
.../tests/revdep_with_tristate_if/__init__.py | 14 ++++++++++++++
.../tests/revdep_with_tristate_if/expected_config | 9 +++++++++
3 files changed, 44 insertions(+)
create mode 100644 scripts/kconfig/tests/revdep_with_tristate_if/Kconfig
create mode 100644 scripts/kconfig/tests/revdep_with_tristate_if/__init__.py
create mode 100644 scripts/kconfig/tests/revdep_with_tristate_if/expected_config
diff --git a/scripts/kconfig/tests/revdep_with_tristate_if/Kconfig b/scripts/kconfig/tests/revdep_with_tristate_if/Kconfig
new file mode 100644
index 0000000..2bd1141
--- /dev/null
+++ b/scripts/kconfig/tests/revdep_with_tristate_if/Kconfig
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: GPL-2.0
+
+config MODULES
+ def_bool y
+ option modules
+
+config A
+ tristate
+
+config B
+ tristate "b"
+ default y
+ select A if C
+ imply D if C
+
+config C
+ tristate "c"
+ default m
+
+config D
+ tristate "d"
diff --git a/scripts/kconfig/tests/revdep_with_tristate_if/__init__.py b/scripts/kconfig/tests/revdep_with_tristate_if/__init__.py
new file mode 100644
index 0000000..ad95cec
--- /dev/null
+++ b/scripts/kconfig/tests/revdep_with_tristate_if/__init__.py
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0
+"""
+select/imply property with tristate if-conditional
+
+The reverse dependencies (select/imply) are used to define a lower limit
+of another symbol. The current value of the selector is set to the lower
+limit of the selectee. This did not handled correctly in the past when the
+property has a tristate if-conditional.
+"""
+
+
+def test(conf):
+ assert conf.alldefconfig() == 0
+ assert conf.config_matches('expected_config')
diff --git a/scripts/kconfig/tests/revdep_with_tristate_if/expected_config b/scripts/kconfig/tests/revdep_with_tristate_if/expected_config
new file mode 100644
index 0000000..9826223
--- /dev/null
+++ b/scripts/kconfig/tests/revdep_with_tristate_if/expected_config
@@ -0,0 +1,9 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Main menu
+#
+CONFIG_MODULES=y
+CONFIG_A=y
+CONFIG_B=y
+CONFIG_C=m
+CONFIG_D=y
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional
2018-11-26 7:22 [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional Masahiro Yamada
2018-11-26 7:22 ` [PATCH 2/2] kconfig: tests: test " Masahiro Yamada
@ 2018-11-26 8:15 ` kbuild test robot
2018-11-26 9:05 ` Masahiro Yamada
2018-11-26 8:37 ` kbuild test robot
2 siblings, 1 reply; 6+ messages in thread
From: kbuild test robot @ 2018-11-26 8:15 UTC (permalink / raw)
To: Masahiro Yamada
Cc: kbuild-all, linux-kbuild, Ulf Magnusson, Randy Dunlap,
Taehee Yoo, Masahiro Yamada, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3886 bytes --]
Hi Masahiro,
I love your patch! Yet something to improve:
[auto build test ERROR on masahiroy/kconfig]
[also build test ERROR on v4.20-rc4]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kconfig-fix-reverse-dependency-with-tristate-if-conditional/20181126-152716
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
config: i386-randconfig-s1-201847 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
drivers/input//mouse/synaptics.c: In function 'synaptics_create_intertouch':
>> drivers/input//mouse/synaptics.c:1754:9: error: implicit declaration of function 'psmouse_smbus_init' [-Werror=implicit-function-declaration]
return psmouse_smbus_init(psmouse, &intertouch_board,
^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/psmouse_smbus_init +1754 drivers/input//mouse/synaptics.c
e839ffab Benjamin Tissoires 2017-03-02 1728
e839ffab Benjamin Tissoires 2017-03-02 1729 static int synaptics_create_intertouch(struct psmouse *psmouse,
e839ffab Benjamin Tissoires 2017-03-02 1730 struct synaptics_device_info *info,
e839ffab Benjamin Tissoires 2017-03-02 1731 bool leave_breadcrumbs)
e839ffab Benjamin Tissoires 2017-03-02 1732 {
e839ffab Benjamin Tissoires 2017-03-02 1733 bool topbuttonpad =
e839ffab Benjamin Tissoires 2017-03-02 1734 psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids) &&
e839ffab Benjamin Tissoires 2017-03-02 1735 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10);
e839ffab Benjamin Tissoires 2017-03-02 1736 const struct rmi_device_platform_data pdata = {
e839ffab Benjamin Tissoires 2017-03-02 1737 .sensor_pdata = {
e839ffab Benjamin Tissoires 2017-03-02 1738 .sensor_type = rmi_sensor_touchpad,
e839ffab Benjamin Tissoires 2017-03-02 1739 .axis_align.flip_y = true,
2b30297d Andrew Duggan 2017-10-09 1740 .kernel_tracking = false,
e839ffab Benjamin Tissoires 2017-03-02 1741 .topbuttonpad = topbuttonpad,
e839ffab Benjamin Tissoires 2017-03-02 1742 },
e839ffab Benjamin Tissoires 2017-03-02 1743 .f30_data = {
e839ffab Benjamin Tissoires 2017-03-02 1744 .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c),
e839ffab Benjamin Tissoires 2017-03-02 1745 .trackstick_buttons =
e839ffab Benjamin Tissoires 2017-03-02 1746 !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10),
e839ffab Benjamin Tissoires 2017-03-02 1747 },
e839ffab Benjamin Tissoires 2017-03-02 1748 };
e839ffab Benjamin Tissoires 2017-03-02 1749 const struct i2c_board_info intertouch_board = {
e839ffab Benjamin Tissoires 2017-03-02 1750 I2C_BOARD_INFO("rmi4_smbus", 0x2c),
e839ffab Benjamin Tissoires 2017-03-02 1751 .flags = I2C_CLIENT_HOST_NOTIFY,
e839ffab Benjamin Tissoires 2017-03-02 1752 };
e839ffab Benjamin Tissoires 2017-03-02 1753
e839ffab Benjamin Tissoires 2017-03-02 @1754 return psmouse_smbus_init(psmouse, &intertouch_board,
bf232e46 Benjamin Tissoires 2018-05-22 1755 &pdata, sizeof(pdata), true,
e839ffab Benjamin Tissoires 2017-03-02 1756 leave_breadcrumbs);
e839ffab Benjamin Tissoires 2017-03-02 1757 }
e839ffab Benjamin Tissoires 2017-03-02 1758
:::::: The code at line 1754 was first introduced by commit
:::::: e839ffab028981ac77f650faf8c84f16e1719738 Input: synaptics - add support for Intertouch devices
:::::: TO: Benjamin Tissoires <benjamin.tissoires@redhat.com>
:::::: CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28649 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional
2018-11-26 7:22 [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional Masahiro Yamada
2018-11-26 7:22 ` [PATCH 2/2] kconfig: tests: test " Masahiro Yamada
2018-11-26 8:15 ` [PATCH 1/2] kconfig: fix " kbuild test robot
@ 2018-11-26 8:37 ` kbuild test robot
2 siblings, 0 replies; 6+ messages in thread
From: kbuild test robot @ 2018-11-26 8:37 UTC (permalink / raw)
To: Masahiro Yamada
Cc: kbuild-all, linux-kbuild, Ulf Magnusson, Randy Dunlap,
Taehee Yoo, Masahiro Yamada, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 5172 bytes --]
Hi Masahiro,
I love your patch! Yet something to improve:
[auto build test ERROR on masahiroy/kconfig]
[also build test ERROR on v4.20-rc4 next-20181123]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kconfig-fix-reverse-dependency-with-tristate-if-conditional/20181126-152716
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
config: i386-randconfig-s3-201847 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
arch/x86/kernel/dumpstack.o: In function `touch_nmi_watchdog':
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
arch/x86/kernel/nmi.o: In function `touch_nmi_watchdog':
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
arch/x86/kernel/kvm.o: In function `kvm_guest_init':
>> arch/x86/kernel/kvm.c:664: undefined reference to `hardlockup_detector_disable'
arch/x86/kernel/pvclock.o: In function `pvclock_touch_watchdogs':
>> arch/x86/kernel/pvclock.c:52: undefined reference to `touch_softlockup_watchdog_sync'
kernel/panic.o: In function `touch_nmi_watchdog':
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
kernel/panic.o: In function `panic':
>> kernel/panic.c:300: undefined reference to `touch_softlockup_watchdog'
kernel/workqueue.o: In function `touch_nmi_watchdog':
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
kernel/workqueue.o:include/linux/nmi.h:135: more undefined references to `touch_softlockup_watchdog' follow
kernel/sched/core.o: In function `show_state_filter':
>> kernel/sched/core.c:5341: undefined reference to `touch_all_softlockup_watchdogs'
kernel/power/hibernate.o: In function `resume_target_kernel':
>> kernel/power/hibernate.c:480: undefined reference to `touch_softlockup_watchdog'
kernel/power/snapshot.o: In function `rtree_next_node':
>> kernel/power/snapshot.c:847: undefined reference to `touch_softlockup_watchdog'
kernel/printk/printk.o: In function `touch_nmi_watchdog':
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
kernel/time/timekeeping.o: In function `timekeeping_resume':
>> kernel/time/timekeeping.c:1731: undefined reference to `touch_softlockup_watchdog'
kernel/time/timer_list.o: In function `touch_nmi_watchdog':
>> include/linux/nmi.h:135: undefined reference to `touch_softlockup_watchdog'
kernel/time/timer_list.o:include/linux/nmi.h:135: more undefined references to `touch_softlockup_watchdog' follow
drivers/tty/serial/earlycon.o: In function `parse_options':
>> drivers/tty/serial/earlycon.c:94: undefined reference to `uart_parse_earlycon'
drivers/tty/serial/8250/8250_core.o: In function `univ8250_console_match':
>> drivers/tty/serial/8250/8250_core.c:640: undefined reference to `uart_parse_earlycon'
drivers/tty/serial/8250/8250_core.o: In function `serial8250_suspend':
>> drivers/tty/serial/8250/8250_core.c:865: undefined reference to `uart_suspend_port'
drivers/tty/serial/8250/8250_core.o: In function `serial8250_find_match_or_unused':
>> drivers/tty/serial/8250/8250_core.c:916: undefined reference to `uart_match_port'
drivers/tty/serial/8250/8250_core.o: In function `serial8250_register_8250_port':
>> drivers/tty/serial/8250/8250_core.c:971: undefined reference to `uart_remove_one_port'
vim +135 include/linux/nmi.h
6592ad2f Thomas Gleixner 2017-09-12 124
^1da177e Linus Torvalds 2005-04-16 125 /**
^1da177e Linus Torvalds 2005-04-16 126 * touch_nmi_watchdog - restart NMI watchdog timeout.
^1da177e Linus Torvalds 2005-04-16 127 *
^1da177e Linus Torvalds 2005-04-16 128 * If the architecture supports the NMI watchdog, touch_nmi_watchdog()
^1da177e Linus Torvalds 2005-04-16 129 * may be used to reset the timeout - for code which intentionally
^1da177e Linus Torvalds 2005-04-16 130 * disables interrupts for a long time. This call is stateless.
^1da177e Linus Torvalds 2005-04-16 131 */
5d0e600d Ingo Molnar 2007-02-13 132 static inline void touch_nmi_watchdog(void)
5d0e600d Ingo Molnar 2007-02-13 133 {
f2e0cff8 Nicholas Piggin 2017-07-12 134 arch_touch_nmi_watchdog();
5d0e600d Ingo Molnar 2007-02-13 @135 touch_softlockup_watchdog();
5d0e600d Ingo Molnar 2007-02-13 136 }
6e7458a6 Ulrich Obergfell 2014-10-13 137
:::::: The code at line 135 was first introduced by commit
:::::: 5d0e600d903caa09e790824cc5812f0d97113b23 [PATCH] x86: fix laptop bootup hang in init_acpi()
:::::: TO: Ingo Molnar <mingo@elte.hu>
:::::: CC: Andi Kleen <andi@basil.nowhere.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 28822 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional
2018-11-26 8:15 ` [PATCH 1/2] kconfig: fix " kbuild test robot
@ 2018-11-26 9:05 ` Masahiro Yamada
0 siblings, 0 replies; 6+ messages in thread
From: Masahiro Yamada @ 2018-11-26 9:05 UTC (permalink / raw)
To: kbuild test robot
Cc: kbuild-all, Linux Kbuild mailing list, Ulf Magnusson,
Randy Dunlap, Taehee Yoo, Linux Kernel Mailing List
On Mon, Nov 26, 2018 at 5:17 PM kbuild test robot <lkp@intel.com> wrote:
>
> Hi Masahiro,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on masahiroy/kconfig]
> [also build test ERROR on v4.20-rc4]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kconfig-fix-reverse-dependency-with-tristate-if-conditional/20181126-152716
> base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
> config: i386-randconfig-s1-201847 (attached as .config)
> compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
OK, this is not so easy to fix as I expected.
UML is not defined at all for i386,
'UML != n' is evaluated to 'y'.
I need to think about how to fix this.
> drivers/input//mouse/synaptics.c: In function 'synaptics_create_intertouch':
> >> drivers/input//mouse/synaptics.c:1754:9: error: implicit declaration of function 'psmouse_smbus_init' [-Werror=implicit-function-declaration]
> return psmouse_smbus_init(psmouse, &intertouch_board,
> ^~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
>
> vim +/psmouse_smbus_init +1754 drivers/input//mouse/synaptics.c
>
> e839ffab Benjamin Tissoires 2017-03-02 1728
> e839ffab Benjamin Tissoires 2017-03-02 1729 static int synaptics_create_intertouch(struct psmouse *psmouse,
> e839ffab Benjamin Tissoires 2017-03-02 1730 struct synaptics_device_info *info,
> e839ffab Benjamin Tissoires 2017-03-02 1731 bool leave_breadcrumbs)
> e839ffab Benjamin Tissoires 2017-03-02 1732 {
> e839ffab Benjamin Tissoires 2017-03-02 1733 bool topbuttonpad =
> e839ffab Benjamin Tissoires 2017-03-02 1734 psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids) &&
> e839ffab Benjamin Tissoires 2017-03-02 1735 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10);
> e839ffab Benjamin Tissoires 2017-03-02 1736 const struct rmi_device_platform_data pdata = {
> e839ffab Benjamin Tissoires 2017-03-02 1737 .sensor_pdata = {
> e839ffab Benjamin Tissoires 2017-03-02 1738 .sensor_type = rmi_sensor_touchpad,
> e839ffab Benjamin Tissoires 2017-03-02 1739 .axis_align.flip_y = true,
> 2b30297d Andrew Duggan 2017-10-09 1740 .kernel_tracking = false,
> e839ffab Benjamin Tissoires 2017-03-02 1741 .topbuttonpad = topbuttonpad,
> e839ffab Benjamin Tissoires 2017-03-02 1742 },
> e839ffab Benjamin Tissoires 2017-03-02 1743 .f30_data = {
> e839ffab Benjamin Tissoires 2017-03-02 1744 .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c),
> e839ffab Benjamin Tissoires 2017-03-02 1745 .trackstick_buttons =
> e839ffab Benjamin Tissoires 2017-03-02 1746 !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10),
> e839ffab Benjamin Tissoires 2017-03-02 1747 },
> e839ffab Benjamin Tissoires 2017-03-02 1748 };
> e839ffab Benjamin Tissoires 2017-03-02 1749 const struct i2c_board_info intertouch_board = {
> e839ffab Benjamin Tissoires 2017-03-02 1750 I2C_BOARD_INFO("rmi4_smbus", 0x2c),
> e839ffab Benjamin Tissoires 2017-03-02 1751 .flags = I2C_CLIENT_HOST_NOTIFY,
> e839ffab Benjamin Tissoires 2017-03-02 1752 };
> e839ffab Benjamin Tissoires 2017-03-02 1753
> e839ffab Benjamin Tissoires 2017-03-02 @1754 return psmouse_smbus_init(psmouse, &intertouch_board,
> bf232e46 Benjamin Tissoires 2018-05-22 1755 &pdata, sizeof(pdata), true,
> e839ffab Benjamin Tissoires 2017-03-02 1756 leave_breadcrumbs);
> e839ffab Benjamin Tissoires 2017-03-02 1757 }
> e839ffab Benjamin Tissoires 2017-03-02 1758
>
> :::::: The code at line 1754 was first introduced by commit
> :::::: e839ffab028981ac77f650faf8c84f16e1719738 Input: synaptics - add support for Intertouch devices
>
> :::::: TO: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> :::::: CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] kconfig: tests: test reverse dependency with tristate if-conditional
2018-11-26 7:22 ` [PATCH 2/2] kconfig: tests: test " Masahiro Yamada
@ 2018-11-27 1:09 ` kbuild test robot
0 siblings, 0 replies; 6+ messages in thread
From: kbuild test robot @ 2018-11-27 1:09 UTC (permalink / raw)
To: Masahiro Yamada
Cc: kbuild-all, linux-kbuild, Ulf Magnusson, Randy Dunlap,
Taehee Yoo, Masahiro Yamada, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 18054 bytes --]
Hi Masahiro,
I love your patch! Yet something to improve:
[auto build test ERROR on masahiroy/kconfig]
[also build test ERROR on v4.20-rc4 next-20181126]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Masahiro-Yamada/kconfig-fix-reverse-dependency-with-tristate-if-conditional/20181126-152716
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All error/warnings (new ones prefixed by >>):
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
>> drivers/input/mouse/synaptics.c:1754:16: error: undefined identifier 'psmouse_smbus_init'
drivers/input/mouse/synaptics.c: In function 'synaptics_create_intertouch':
drivers/input/mouse/synaptics.c:1754:9: error: implicit declaration of function 'psmouse_smbus_init'; did you mean 'psmouse_smbus_cleanup'? [-Werror=implicit-function-declaration]
return psmouse_smbus_init(psmouse, &intertouch_board,
^~~~~~~~~~~~~~~~~~
psmouse_smbus_cleanup
cc1: some warnings being treated as errors
--
>> drivers/input/mouse/elantech.c:1786:16: error: undefined identifier 'psmouse_smbus_init'
include/linux/slab.h:332:43: warning: dubious: x & !y
drivers/input/mouse/elantech.c: In function 'elantech_create_smbus':
drivers/input/mouse/elantech.c:1786:9: error: implicit declaration of function 'psmouse_smbus_init'; did you mean 'psmouse_smbus_cleanup'? [-Werror=implicit-function-declaration]
return psmouse_smbus_init(psmouse, &smbus_board, NULL, 0, false,
^~~~~~~~~~~~~~~~~~
psmouse_smbus_cleanup
cc1: some warnings being treated as errors
--
sound/soc/intel/skylake/skl-topology.c:2474:39: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2478:41: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2478:41: expected unsigned int [unsigned] [usertype] instance_id
sound/soc/intel/skylake/skl-topology.c:2478:41: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2493:34: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2493:34: expected unsigned int [unsigned] [usertype] vbus_id
sound/soc/intel/skylake/skl-topology.c:2493:34: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2497:39: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2497:39: expected unsigned int [unsigned] [usertype] params_fixup
sound/soc/intel/skylake/skl-topology.c:2497:39: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2501:36: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2501:36: expected unsigned int [unsigned] [usertype] converter
sound/soc/intel/skylake/skl-topology.c:2501:36: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2505:36: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2505:36: expected unsigned int enum d0i3_capability [unsigned] d0i3_caps
sound/soc/intel/skylake/skl-topology.c:2505:36: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2523:26: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2523:26: expected int static [signed] conf_idx
sound/soc/intel/skylake/skl-topology.c:2523:26: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2534:49: warning: incorrect type in argument 3 (different base types)
sound/soc/intel/skylake/skl-topology.c:2534:49: expected unsigned int [unsigned] [usertype] tkn
sound/soc/intel/skylake/skl-topology.c:2534:49: got restricted __le32 [usertype] token
sound/soc/intel/skylake/skl-topology.c:2534:66: warning: incorrect type in argument 4 (different base types)
sound/soc/intel/skylake/skl-topology.c:2534:66: expected unsigned int [unsigned] [usertype] tkn_val
sound/soc/intel/skylake/skl-topology.c:2534:66: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2547:49: warning: incorrect type in argument 3 (different base types)
sound/soc/intel/skylake/skl-topology.c:2547:49: expected unsigned int [unsigned] [usertype] tkn
sound/soc/intel/skylake/skl-topology.c:2547:49: got restricted __le32 [usertype] token
sound/soc/intel/skylake/skl-topology.c:2547:66: warning: incorrect type in argument 4 (different base types)
sound/soc/intel/skylake/skl-topology.c:2547:66: expected unsigned int [unsigned] [usertype] tkn_val
sound/soc/intel/skylake/skl-topology.c:2547:66: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2555:52: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2555:52: expected unsigned char [unsigned] [usertype] res_idx
sound/soc/intel/skylake/skl-topology.c:2555:52: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2559:52: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2559:52: expected unsigned char [unsigned] [usertype] fmt_idx
sound/soc/intel/skylake/skl-topology.c:2559:52: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2568:31: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2569:38: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2582:68: warning: incorrect type in argument 3 (different base types)
sound/soc/intel/skylake/skl-topology.c:2582:68: expected unsigned int [unsigned] [usertype] tkn
sound/soc/intel/skylake/skl-topology.c:2582:68: got restricted __le32 [usertype] token
sound/soc/intel/skylake/skl-topology.c:2583:41: warning: incorrect type in argument 4 (different base types)
sound/soc/intel/skylake/skl-topology.c:2583:41: expected unsigned int [unsigned] [usertype] val
sound/soc/intel/skylake/skl-topology.c:2583:41: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2602:51: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2602:51: expected unsigned int [unsigned] [usertype] caps_size
sound/soc/intel/skylake/skl-topology.c:2602:51: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2608:52: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2608:52: expected unsigned int [unsigned] [usertype] set_params
sound/soc/intel/skylake/skl-topology.c:2608:52: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2613:50: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2613:50: expected unsigned int [unsigned] [usertype] param_id
sound/soc/intel/skylake/skl-topology.c:2613:50: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2618:33: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2618:33: expected unsigned char [unsigned] [usertype] domain
sound/soc/intel/skylake/skl-topology.c:2618:33: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2624:42: warning: incorrect type in assignment (different base types)
sound/soc/intel/skylake/skl-topology.c:2624:42: expected unsigned int [unsigned] [usertype] dma_buffer_size
sound/soc/intel/skylake/skl-topology.c:2624:42: got restricted __le32 [usertype] value
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: restricted __le32 degrades to integer
sound/soc/intel/skylake/skl-topology.c:2422:25: warning: too many warnings
>> sound/soc/intel/skylake/skl-topology.c:3075:15: error: undefined identifier 'snd_soc_tplg_widget_bind_event'
>> sound/soc/intel/skylake/skl-topology.c:3740:15: error: undefined identifier 'snd_soc_tplg_component_load'
sound/soc/intel/skylake/skl-topology.c: In function 'skl_tplg_widget_load':
sound/soc/intel/skylake/skl-topology.c:3075:8: error: implicit declaration of function 'snd_soc_tplg_widget_bind_event'; did you mean 'snd_soc_dapm_get_bias_level'? [-Werror=implicit-function-declaration]
ret = snd_soc_tplg_widget_bind_event(w, skl_tplg_widget_ops,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
snd_soc_dapm_get_bias_level
sound/soc/intel/skylake/skl-topology.c: In function 'skl_tplg_init':
sound/soc/intel/skylake/skl-topology.c:3740:8: error: implicit declaration of function 'snd_soc_tplg_component_load'; did you mean 'snd_soc_tplg_component_remove'? [-Werror=implicit-function-declaration]
ret = snd_soc_tplg_component_load(component,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
snd_soc_tplg_component_remove
cc1: some warnings being treated as errors
--
>> drivers/char/tpm/tpm_ibmvtpm.c:21:11: error: unable to open 'asm/vio.h'
--
>> sound/soc/codecs/ac97.c:76:58: error: undefined identifier 'soc_ac97_ops'
sound/soc/codecs/ac97.c: In function 'ac97_soc_probe':
sound/soc/codecs/ac97.c:76:51: error: 'soc_ac97_ops' undeclared (first use in this function); did you mean 'snd_ac97_bus'?
ret = snd_ac97_bus(component->card->snd_card, 0, soc_ac97_ops,
^~~~~~~~~~~~
snd_ac97_bus
sound/soc/codecs/ac97.c:76:51: note: each undeclared identifier is reported only once for each function it appears in
--
>> sound/pci/hda/hda_intel.c:184:25: error: undefined identifier 'CONFIG_SND_HDA_POWER_SAVE_DEFAULT'
include/linux/slab.h:332:43: warning: dubious: x & !y
sound/pci/hda/hda_intel.c:184:25: error: 'CONFIG_SND_HDA_POWER_SAVE_DEFAULT' undeclared here (not in a function); did you mean 'CONFIG_SND_SEQ_HRTIMER_DEFAULT'?
static int power_save = CONFIG_SND_HDA_POWER_SAVE_DEFAULT;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CONFIG_SND_SEQ_HRTIMER_DEFAULT
--
arch/x86/kernel/devicetree.c:27:16: warning: symbol 'initial_dtb' was not declared. Should it be static?
arch/x86/kernel/devicetree.c:28:17: warning: symbol 'cmd_line' was not declared. Should it be static?
arch/x86/kernel/devicetree.c:30:16: warning: symbol 'of_ioapic' was not declared. Should it be static?
arch/x86/kernel/devicetree.c:32:13: warning: symbol 'early_init_dt_scan_chosen_arch' was not declared. Should it be static?
>> arch/x86/kernel/devicetree.c:37:13: warning: symbol 'early_init_dt_add_memory_arch' was not declared. Should it be static?
arch/x86/kernel/devicetree.c:42:13: warning: symbol 'add_dtb' was not declared. Should it be static?
arch/x86/kernel/devicetree.c:108:6: warning: symbol 'x86_of_pci_init' was not declared. Should it be static?
arch/x86/kernel/devicetree.c:314:13: warning: symbol 'x86_dtb_init' was not declared. Should it be static?
vim +/psmouse_smbus_init +1754 drivers/input/mouse/synaptics.c
e839ffab Benjamin Tissoires 2017-03-02 1728
e839ffab Benjamin Tissoires 2017-03-02 1729 static int synaptics_create_intertouch(struct psmouse *psmouse,
e839ffab Benjamin Tissoires 2017-03-02 1730 struct synaptics_device_info *info,
e839ffab Benjamin Tissoires 2017-03-02 1731 bool leave_breadcrumbs)
e839ffab Benjamin Tissoires 2017-03-02 1732 {
e839ffab Benjamin Tissoires 2017-03-02 1733 bool topbuttonpad =
e839ffab Benjamin Tissoires 2017-03-02 1734 psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids) &&
e839ffab Benjamin Tissoires 2017-03-02 1735 !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10);
e839ffab Benjamin Tissoires 2017-03-02 1736 const struct rmi_device_platform_data pdata = {
e839ffab Benjamin Tissoires 2017-03-02 1737 .sensor_pdata = {
e839ffab Benjamin Tissoires 2017-03-02 1738 .sensor_type = rmi_sensor_touchpad,
e839ffab Benjamin Tissoires 2017-03-02 1739 .axis_align.flip_y = true,
2b30297d Andrew Duggan 2017-10-09 1740 .kernel_tracking = false,
e839ffab Benjamin Tissoires 2017-03-02 1741 .topbuttonpad = topbuttonpad,
e839ffab Benjamin Tissoires 2017-03-02 1742 },
e839ffab Benjamin Tissoires 2017-03-02 1743 .f30_data = {
e839ffab Benjamin Tissoires 2017-03-02 1744 .buttonpad = SYN_CAP_CLICKPAD(info->ext_cap_0c),
e839ffab Benjamin Tissoires 2017-03-02 1745 .trackstick_buttons =
e839ffab Benjamin Tissoires 2017-03-02 1746 !!SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10),
e839ffab Benjamin Tissoires 2017-03-02 1747 },
e839ffab Benjamin Tissoires 2017-03-02 1748 };
e839ffab Benjamin Tissoires 2017-03-02 1749 const struct i2c_board_info intertouch_board = {
e839ffab Benjamin Tissoires 2017-03-02 1750 I2C_BOARD_INFO("rmi4_smbus", 0x2c),
e839ffab Benjamin Tissoires 2017-03-02 1751 .flags = I2C_CLIENT_HOST_NOTIFY,
e839ffab Benjamin Tissoires 2017-03-02 1752 };
e839ffab Benjamin Tissoires 2017-03-02 1753
e839ffab Benjamin Tissoires 2017-03-02 @1754 return psmouse_smbus_init(psmouse, &intertouch_board,
bf232e46 Benjamin Tissoires 2018-05-22 1755 &pdata, sizeof(pdata), true,
e839ffab Benjamin Tissoires 2017-03-02 1756 leave_breadcrumbs);
e839ffab Benjamin Tissoires 2017-03-02 1757 }
e839ffab Benjamin Tissoires 2017-03-02 1758
:::::: The code at line 1754 was first introduced by commit
:::::: e839ffab028981ac77f650faf8c84f16e1719738 Input: synaptics - add support for Intertouch devices
:::::: TO: Benjamin Tissoires <benjamin.tissoires@redhat.com>
:::::: CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 65519 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-11-27 1:10 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-26 7:22 [PATCH 1/2] kconfig: fix reverse dependency with tristate if-conditional Masahiro Yamada
2018-11-26 7:22 ` [PATCH 2/2] kconfig: tests: test " Masahiro Yamada
2018-11-27 1:09 ` kbuild test robot
2018-11-26 8:15 ` [PATCH 1/2] kconfig: fix " kbuild test robot
2018-11-26 9:05 ` Masahiro Yamada
2018-11-26 8:37 ` kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).