From patchwork Tue Aug 6 17:09:14 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yann E. MORIN" X-Patchwork-Id: 2839467 Return-Path: X-Original-To: patchwork-linux-kbuild@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id E4ADFBF535 for ; Tue, 6 Aug 2013 17:09:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id B683A201FC for ; Tue, 6 Aug 2013 17:09:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C064F201B7 for ; Tue, 6 Aug 2013 17:09:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756195Ab3HFRJX (ORCPT ); Tue, 6 Aug 2013 13:09:23 -0400 Received: from mail-we0-f180.google.com ([74.125.82.180]:34487 "EHLO mail-we0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756191Ab3HFRJW (ORCPT ); Tue, 6 Aug 2013 13:09:22 -0400 Received: by mail-we0-f180.google.com with SMTP id p61so626555wes.11 for ; Tue, 06 Aug 2013 10:09:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id; bh=1bmf6/QlsTRu/gmFla141bHNbiVDbuIfPmLgtxqhrak=; b=NcvskuWCHTohQKpbJTN+tVK2OkryXOFmxEnH5BJhMDTuViONU+6FWNvHNeR84M0WDW nivVOK9Z11Q/PWIcfOv7oNZeOoRt/6t4aBYHnHJFcGPSRuZq9BFhLLlD+G3IzPSRjnTG auDiSayzVuVc0ZbR3aaRIfFMZM/BMuAMYRHZemwfqT6f02o2IPReBFUz0J9ed6kjmZ11 3mjjrB+clB3HS71l5Nlxl0lz5TCm08zqHQ2z4fV53Asj1SEg96j72ccPifkYgNfvmy/Q M2MjN24igmz7BzXT95D9RfXhMErluge/QOYDFAFHaO2RdaeTaRSKkSVqc80Trj2BVfjg 5gcA== X-Received: by 10.180.13.210 with SMTP id j18mr2675018wic.51.1375808960571; Tue, 06 Aug 2013 10:09:20 -0700 (PDT) Received: from gourin.bzh.lan (ks3095497.kimsufi.com. [94.23.60.27]) by mx.google.com with ESMTPSA id l5sm3535091wia.6.2013.08.06.10.09.18 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 06 Aug 2013 10:09:19 -0700 (PDT) From: "Yann E. MORIN" To: linux-kbuild@vger.kernel.org Cc: linux-kernel@vger.kernel.org, "Yann E. MORIN" , Linus Torvalds , Michal Marek , Thomas Petazzoni , Bjorn Helgaas , Yinghai Lu , Benjamin Herrenschmidt Subject: [PATCH] kconfig: silence warning when parsing auto.conf when a symbol has changed type Date: Tue, 6 Aug 2013 19:09:14 +0200 Message-Id: <1375808954-7221-1-git-send-email-yann.morin.1998@free.fr> X-Mailer: git-send-email 1.8.1.2 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: "Yann E. MORIN" When a symbol changes type from tristate to bool, and was previously set to 'm', a subsequent silentoldconfig would warn about inconsistency, such as: include/config/auto.conf:3014:warning: symbol value 'm' invalid for HOTPLUG_PCI_PCIE Seen by Linus with the merge in aa8032b (sequence to reproduce by Michal): git checkout 1fe0135 make mrproper make allmodconfig make silentoldconfig git checkout aa8032b make allmodconfig make silentoldconfig Since HOTPLUG_PCI_PCIE changed from tristate to bool in aa8032b, it was previously set to 'm' in auto.conf by the first allmodconfig+silentoldconfig, but then was set to 'y' by the second allmodconfig. Then the second silentoldconfig prints the warning. The warning in this case is a spurious warning, which happens at the time kconfig tries to detect symbols that have changed, to touch the empty header files in include/config used for dependency-tracking by make. Silence the warning when we read the old auto.conf file, since it is perfectly legit that a symbol changed type since the previous call. Thread in: http://marc.info/?l=linux-pci&m=137569198904000&w=2 Reported-by: Linus Torvalds Signed-off-by: "Yann E. MORIN" Cc: Linus Torvalds Cc: Michal Marek Cc: Thomas Petazzoni Cc: Bjorn Helgaas Cc: Yinghai Lu Cc: Benjamin Herrenschmidt --- scripts/kconfig/confdata.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index c55c227..87f7238 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -140,7 +140,9 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) sym->flags |= def_flags; break; } - conf_warning("symbol value '%s' invalid for %s", p, sym->name); + if (def != S_DEF_AUTO) + conf_warning("symbol value '%s' invalid for %s", + p, sym->name); return 1; case S_OTHER: if (*p != '"') { @@ -161,7 +163,8 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) memmove(p2, p2 + 1, strlen(p2)); } if (!p2) { - conf_warning("invalid string found"); + if (def != S_DEF_AUTO) + conf_warning("invalid string found"); return 1; } /* fall through */ @@ -172,7 +175,9 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) sym->def[def].val = strdup(p); sym->flags |= def_flags; } else { - conf_warning("symbol value '%s' invalid for %s", p, sym->name); + if (def != S_DEF_AUTO) + conf_warning("symbol value '%s' invalid for %s", + p, sym->name); return 1; } break;