From patchwork Wed Jun 22 12:39:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102118 Delivered-To: patch@linaro.org Received: by 10.140.28.4 with SMTP id 4csp2527354qgy; Wed, 22 Jun 2016 05:40:20 -0700 (PDT) X-Received: by 10.36.66.68 with SMTP id i65mr14233215itb.91.1466599216784; Wed, 22 Jun 2016 05:40:16 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ww9si22109123pab.83.2016.06.22.05.40.16; Wed, 22 Jun 2016 05:40:16 -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; 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 S932118AbcFVMkL (ORCPT + 30 others); Wed, 22 Jun 2016 08:40:11 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:55147 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752550AbcFVMjS (ORCPT ); Wed, 22 Jun 2016 08:39:18 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue102) with ESMTPA (Nemesis) id 0MgOZS-1b385K2NCY-00NhhX; Wed, 22 Jun 2016 14:38:44 +0200 From: Arnd Bergmann To: Stephen Warren Cc: Arnd Bergmann , Thierry Reding , Alexandre Courbot , linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] ARM: tegra: remove board_init_funcs array Date: Wed, 22 Jun 2016 14:39:41 +0200 Message-Id: <20160622124052.1263574-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:Qr2Q5QTcSd1mDBpJWlqSJw1Rdm+BMbcopuKcAQ+QV1cdXSkRm8o URyCkL5W5TGcJItVjF5BQBI5rFdI1KEvSBoVdXzKQjXJcysm3wEToJ5q1WzTC5s7HgJmU5P tSLQnBe+QxQBfNmrVRqjHnyhQOmyPRXm2wZCinwxQCujkvLfTjUf43YFXSo2t+x5euvG2vB qrU8zoH7FomRQKK6zHOsw== X-UI-Out-Filterresults: notjunk:1; V01:K0:mY1p18wDrUQ=:qzEED9QQjO3RFmBlyyIX8D Nkqf0kk4QhSdjoXY5DZjuEdrveNhmb7vz64bJqKtBetmqx90SkR2IN1iJABr+wSCuwpAoZkFg vmEGbiBXwy4QY/nqNpZZ5UtoKg9iYFT3szXd/wuPkT3bwJqC6XeO+U8e3aJe6+qveSO3YASWy WesXxtueO9E8Gx+g7n9REl+vhXQGZwMLtGClywP4pna5uTgUnXWETyO6yP3dUcuMGkVC+8IUC DoUsEkXn8x4L+82rSj4tne5o1uQ8Q3+6u+a/dh2Csemg/GUDvyHzplScKp8heJTJGuKC4B+/b zkuURwBWzorgt2nLfkEysZtlyNkTa4eKSYrCcJnLcvDKfXkVmzj76QINmmVZyaW6wrpl4Df4O sXKDBjaEf/1z5bzVUAJ6fL/hxa2lZSUlPbO06Z1wrf2KENA8/EiXwSxXDl4mfg7Tmq8/xlfSN bED7Uq+lVh6ymbT/CUsur5bnG3em6WB1Jlxn0tbDUF96xN9Ysd+X+SHd0yFl6NW0PCcGQgnLc Hj6PS+/16f4fh4rVPDjLm8KYYpMfUFQGZwVmMWdCcarRUL6oY9keI2mpI2s279mvlaM7pZWn7 J3vCJ7S/u9VKcotdcWXEyW38cRbF//oIMrQMKBvFcIkQxvEN+6nDtqUSq7FJZfhY0rHxlVgfz tzbHzWTr5avLUiuxxOTspoKlRUVAGjcawG4mFehpFOVmd0BXA0FaeG445boZjAvVpgQo= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In a configuration that enables CONFIG_UBSAN_SANITIZE_ALL, I am getting a section mismatch warning for tegra20: WARNING: arch/arm/mach-tegra/built-in.o(.data+0x6e0): Section mismatch in reference from the variable board_init_funcs to the function .init.text:paz00_init() The array is no longer useful here since there is only one entry, so we can simply call the function directly after checking of_machine_is_compatible(). This fixes the section mismatch and is easier to read. Signed-off-by: Arnd Bergmann --- arch/arm/mach-tegra/tegra.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) -- 2.9.0 diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c index 2378fa560a21..42d7ee9658fa 100644 --- a/arch/arm/mach-tegra/tegra.c +++ b/arch/arm/mach-tegra/tegra.c @@ -118,32 +118,14 @@ out: of_platform_populate(NULL, of_default_bus_match_table, NULL, parent); } -static void __init paz00_init(void) -{ - if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC)) - tegra_paz00_wifikill_init(); -} - -static struct { - char *machine; - void (*init)(void); -} board_init_funcs[] = { - { "compal,paz00", paz00_init }, -}; - static void __init tegra_dt_init_late(void) { - int i; - tegra_init_suspend(); tegra_cpuidle_init(); - for (i = 0; i < ARRAY_SIZE(board_init_funcs); i++) { - if (of_machine_is_compatible(board_init_funcs[i].machine)) { - board_init_funcs[i].init(); - break; - } - } + if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) && + of_machine_is_compatible("compal,paz00")) + tegra_paz00_wifikill_init(); } static const char * const tegra_dt_board_compat[] = {