From patchwork Tue Mar 13 09:56:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 131424 Delivered-To: patch@linaro.org Received: by 10.46.84.17 with SMTP id i17csp517589ljb; Tue, 13 Mar 2018 02:57:53 -0700 (PDT) X-Google-Smtp-Source: AG47ELscE6qlb8tQ5l4DPvnnSljCeM1DXyLaB+uE0GxbJc6opB0fkD7f2E+Ryc4Y9DSc2P9NEbg4 X-Received: by 10.99.180.2 with SMTP id s2mr10760pgf.26.1520935072926; Tue, 13 Mar 2018 02:57:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520935072; cv=none; d=google.com; s=arc-20160816; b=nzSPU6NTdZYt72zO6pjoD7EuLJ3kx/Sm2FeBiioJd1GnFhmFZ/gmomoQCxlbIIVrsk ru4S+4noZtkEFZ8cFyqpb/Ywj2Opw6RGkMj3yglfQOrhO7cJH82a1wC6jx+SbDtSBxNh uUYRL8EuBHK6aqqn+pIPwLpHIQGye0dXoZD5l+kK4+dv+mlq7bEsu6C/4y7JV/sSkgQh 1V2KuUwXul+YGZfnR1XNYYSWLJXfkT4kF1o1msFMeQBbjgxpXnnBuRnqKoTEWlJUGHIF 7ugCOFwPfiQqA0GQxDuZUXw1A8TnotgGP4kXnAsxVt5EHQb8kOOwmQNPQPwcLCjvoykz 1cnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter:arc-authentication-results; bh=fQuAEvhlo/wuLU7jSpavZyQyI0O8dDjtbghFHlgecfM=; b=u/bR46jKlwKfo1Zm2JTVjr2uR2qm025J2qSVcGiyeIwK/p4yEg6C9GMLGhUq3llqpt qHtCQAMlckQ/PDeyQn7c6zf/b1tQDjrpkudd3/rqH85oWkzP++m/fGyf2iMCjhfLqeuv 0QSolMCY3tjsZ/in9VFxmu5Xc1kDNT2Z5T9hb3O2Cnq04QyE/q/QvOCApDqGhKT/CQEI CTa+e+KRzFrxOXKXcw5o2Cn4p6Vq5MpTnQPa4VSNBnw+PjAJnI3KcjLUEx9QoEU+ddri v9lUCQefPFA/YWU6ThB/xdgwO+KOB90ZiueCiLtyLpkgu+0kWXDB29G3NI0RqhbDmSYs kClQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=oBC8BAjk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n5si6343589pgd.345.2018.03.13.02.57.52; Tue, 13 Mar 2018 02:57:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=oBC8BAjk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752654AbeCMJ5u (ORCPT + 28 others); Tue, 13 Mar 2018 05:57:50 -0400 Received: from conuserg-11.nifty.com ([210.131.2.78]:57996 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752261AbeCMJ5o (ORCPT ); Tue, 13 Mar 2018 05:57:44 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-11.nifty.com with ESMTP id w2D9uEJw021254; Tue, 13 Mar 2018 18:56:14 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com w2D9uEJw021254 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1520934974; bh=fQuAEvhlo/wuLU7jSpavZyQyI0O8dDjtbghFHlgecfM=; h=From:To:Cc:Subject:Date:From; b=oBC8BAjkHmmg+1/rhkVm4G4O/WyXGeoq+0JdmtfASv7X5aQtfN9el+4wm3usmh7cm rB9E9w2a3m0s3/pKBOwTeuCQ8Jl9yQ5jikeIRyUMErWlMzVML4PL3pZZ5wdfoQ73+d 2e+ypCYJ2YxAYNLhQMBTpu98lFybE8//wTtmCvaKXEp5q1d/xFqtLRRDD1OIG6gKne GzPFmQmCStH81b7/EIkqd6uaVZRsfRd6pOLExxgfRlJhUihCLlgTxZvGnn6yW591Z+ SKOw+XHL1WfLqjlxsEM3Jq6EacXhzCTVyTzVcQ04w3QAQvaiBKih3Sil8JZXtM0toO auQFpCKDSbX7g== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Sam Ravnborg , Ulf Magnusson , Eugeniu Rosca , Randy Dunlap , "Luis R . Rodriguez" , Petr Vorel , Masahiro Yamada , linux-kernel@vger.kernel.org Subject: [PATCH v4 1/2] kconfig: warn unmet direct dependency of tristate symbols selected by y Date: Tue, 13 Mar 2018 18:56:07 +0900 Message-Id: <1520934968-30406-1-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit 246cf9c26bf1 ("kbuild: Warn on selecting symbols with unmet direct dependencies") forcibly promoted ->dir_dep.tri to yes from mod. So, the unmet direct dependencies of tristate symbols are not reported. [Test Case] config MODULES def_bool y option modules config A def_bool y select B config B tristate "B" depends on m This causes unmet dependency because 'B' is forced 'y' ignoring 'depends on m'. This should be warned. On the other hand, the following case ('B' is bool) should not be warned, so 'depends on m' for bool symbols should be naturally treated as 'depends on y'. [Test Case2 (not unmet dependency)] config MODULES def_bool y option modules config A def_bool y select B config B bool "B" depends on m Signed-off-by: Masahiro Yamada --- Changes in v4: - newly added scripts/kconfig/symbol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.7.4 diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 0f7eba7..def860b 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -243,7 +243,7 @@ static void sym_calc_visibility(struct symbol *sym) tri = yes; if (sym->dir_dep.expr) tri = expr_calc_value(sym->dir_dep.expr); - if (tri == mod) + if (sym->type == S_BOOLEAN && tri == mod) tri = yes; if (sym->dir_dep.tri != tri) { sym->dir_dep.tri = tri; @@ -414,7 +414,7 @@ void sym_calc_value(struct symbol *sym) } } calc_newval: - if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) { + if (sym->dir_dep.tri < sym->rev_dep.tri) { struct expr *e; e = expr_simplify_unmet_dep(sym->rev_dep.expr, sym->dir_dep.expr);