From patchwork Sun Jul 22 10:01:43 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 1224201 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id 3255EE0039 for ; Sun, 22 Jul 2012 10:05:29 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1SsszN-0003ST-DE; Sun, 22 Jul 2012 10:02:13 +0000 Received: from moutng.kundenserver.de ([212.227.17.10]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Sssz6-0003Rj-6h for linux-arm-kernel@lists.infradead.org; Sun, 22 Jul 2012 10:02:00 +0000 Received: from klappe2.localnet (HSI-KBW-149-172-5-253.hsi13.kabel-badenwuerttemberg.de [149.172.5.253]) by mrelayeu.kundenserver.de (node=mrbap2) with ESMTP (Nemesis) id 0MDmuc-1T4TJP3fiA-00GV8d; Sun, 22 Jul 2012 12:01:46 +0200 From: Arnd Bergmann To: Fengguang Wu Subject: Re: arm-allnoconfig error: '__LINUX_ARM_ARCH__' undeclared Date: Sun, 22 Jul 2012 10:01:43 +0000 User-Agent: KMail/1.12.2 (Linux/3.5.0-rc1+; KDE/4.3.2; x86_64; ; ) References: <20120722024313.GD8279@localhost> In-Reply-To: <20120722024313.GD8279@localhost> MIME-Version: 1.0 Message-Id: <201207221001.43528.arnd@arndb.de> X-Provags-ID: V02:K0:dKzpLNkzjDaPOvVuf2m987mmJNYoY42jA0dCNgsCoEa lFyeW70jWKBML6LH42jG86zTva7cEAGY4dO/L7em6VURLxmTkt CttdxV/6fQ7OY/awHgb5bp8Dv1zYgKl7t2mZzeNGbxW0VGk8X6 pjcrNCzLnlYNlLAUwe+yqn4mghpKzGzM2hHnq52vvIKbmKl/k/ ifyOwO4KfD0pXEQGxW/JTIywGxW1Hx2RV5trVXV8qyj/zju9Jf hM8+YyR4SH2QhPyJXwRd/WDt/o0PUnXEPcVFgO/Gt1A2a7LhSV k+TDd+5mZWyO522KzRxdvxtBATlj7NNNeSO06ziDNeiujnklg1 PMowpeRsAae7kL2Lp6Yw= X-Spam-Note: CRM114 invocation failed X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [212.227.17.10 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Russell King , LKML , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org On Sunday 22 July 2012, Fengguang Wu wrote: > Kernel build failed on arm-allnoconfig: > > include/linux/math64.h:55:15: error: '__LINUX_ARM_ARCH__' undeclared (first use in this function) > arch/arm/include/asm/glue-cache.h:129:2: error: #error Unknown cache maintenance model > arch/arm/include/asm/glue-df.h:99:2: error: #error Unknown data abort handler type > arch/arm/include/asm/glue-pf.h:54:2: error: #error Unknown prefetch abort handler type > > Do you think this allnoconfig test meaningful at all? The allno/mod/yesconfig tests on ARM are somewhat limited in their usefulness at the moment because they always pick the same platform type (versatile) and don't really cover the cases that most people are interested in. The particular problem with allnoconfig is that the logic to determine the architecture level depends on at least one platform being selected, and there are also problems with nommu kernels that tend to not work if certain other options are not set correctly. We can make the nommu case go away if we make hide the option for non-expert configurations including allnoconfig. I suggested adding some logic to all the subarch Kconfig files that forces at least one of the boards to be enabled like the patch below, but a number of people didn't like it. For reference, here is what I would use in order to get 'make allnoconfig' to work on ARM. My impression is at the moment that we should make a more serious attempt at fixing all the possible configurations when we get to 'multiplatform' configurations, because that will be more interesting than doing it just for the versatile platform. Signed-off-by: Arnd Bergmann diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a306d6d..e43e743 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -236,7 +236,7 @@ source "kernel/Kconfig.freezer" menu "System Type" config MMU - bool "MMU-based Paged Memory Management Support" + bool "MMU-based Paged Memory Management Support" if EXPERT default y help Select if you want MMU-based virtualised addressing space diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig index c1f38f6..455f20a 100644 --- a/arch/arm/mach-versatile/Kconfig +++ b/arch/arm/mach-versatile/Kconfig @@ -25,4 +25,13 @@ config MACH_VERSATILE_DT Include support for the ARM(R) Versatile/PB platform, using the device tree for discovery +config MACH_VERSATILE_AUTO + def_bool y + depends on !ARCH_VERSATILE_PB + depends on !MACH_VERSATILE_AB + select MACH_VERSATILE_DT + help + We autoselect MACH_VERSATILE_DT if both PB and AB are + disabled, to ensure that at least one platform is enabled. + endmenu