From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754012AbcDSMVQ (ORCPT ); Tue, 19 Apr 2016 08:21:16 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:53202 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753967AbcDSMUy (ORCPT ); Tue, 19 Apr 2016 08:20:54 -0400 Subject: Re: Runtime warning due to commit 'ARM: OMAP: Catch callers of revision information prior to it being populated' in -next To: Guenter Roeck References: <5715B5EC.2040000@roeck-us.net> CC: "linux-next@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Tony Lindgren , linux-omap , "linux-arm-kernel@lists.infradead.org" From: Nishanth Menon X-Enigmail-Draft-Status: N1110 Message-ID: <57162261.4070409@ti.com> Date: Tue, 19 Apr 2016 07:19:45 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <5715B5EC.2040000@roeck-us.net> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/18/2016 11:37 PM, Guenter Roeck wrote: > Hi, > + linux-omap, linux-arm > commit 'ARM: OMAP: Catch callers of revision information prior to it > being populated' results in a runtime warning on various non-OMAP > architectures. I have seen it with the following qemu tests. > > arm:vexpress-a9:multi_v7_defconfig:vexpress-v2p-ca9 > arm:vexpress-a15:multi_v7_defconfig:vexpress-v2p-ca15-tc1 > arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc702 > arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc706 > arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zed > arm:midway:multi_v7_defconfig:ecx-2000 > arm:smdkc210:multi_v7_defconfig:exynos4210-smdkv310 > > It is also reported by kernelci.org in at least one boot test for imx6q-cm-fx6. Thanks for the report... :( > > The warning is as follows. > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/id.c:49 omap_rev+0x3c/0x50 > Modules linked in: > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.6.0-rc2-next-20160411 #1 > Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0x84/0xa4) > [] (dump_stack) from [] (__warn+0xd4/0x100) > [] (__warn) from [] (warn_slowpath_null+0x20/0x28) > [] (warn_slowpath_null) from [] (omap_rev+0x3c/0x50) > [] (omap_rev) from [] (__omap4_sar_ram_init+0x8/0x88) > [] (__omap4_sar_ram_init) from [] (do_one_initcall+0x3c/0x16c) > [] (do_one_initcall) from [] (kernel_init_freeable+0x70/0x1ec) > [] (kernel_init_freeable) from [] (kernel_init+0x8/0x110) > [] (kernel_init) from [] (ret_from_fork+0x14/0x3c) > ---[ end trace cb88537fdc8fa200 ]--- > > Please have a look. Tony, Should we get rid of omap_initcall callers(move them into board-generic call path or lower the check not to include default of 0? we have the following users: > $ git grep omap_".*"_initcall arch/arm/mach-omap2/ > arch/arm/mach-omap2/board-n8x0.c:omap_late_initcall(n8x0_late_initcall); > arch/arm/mach-omap2/board-rx51-video.c:omap_subsys_initcall(rx51_video_init); > arch/arm/mach-omap2/devices.c:omap_postcore_initcall(omap3_l3_init); > arch/arm/mach-omap2/devices.c:omap_arch_initcall(omap2_init_devices); > arch/arm/mach-omap2/devices.c:omap_postcore_initcall(omap_gpmc_init); > arch/arm/mach-omap2/dma.c:omap_arch_initcall(omap2_system_dma_init); > arch/arm/mach-omap2/gpio.c:omap_postcore_initcall(omap2_gpio_init); > arch/arm/mach-omap2/hdq1w.c:omap_arch_initcall(omap_init_hdq); > arch/arm/mach-omap2/i2c.c:omap_subsys_initcall(omap_i2c_cmdline); > arch/arm/mach-omap2/id.c:omap_device_initcall(omap_feed_randpool); > arch/arm/mach-omap2/mcbsp.c:omap_arch_initcall(omap2_mcbsp_init); > arch/arm/mach-omap2/omap2-restart.c:omap_postcore_initcall(omap2xxx_common_look_up_clks_for_reset); > arch/arm/mach-omap2/omap4-common.c:omap_arch_initcall(omap4_sram_init); > arch/arm/mach-omap2/omap4-common.c:omap_early_initcall(omap4_sar_ram_init); ^^ warning was generated here > arch/arm/mach-omap2/omap_device.c:omap_postcore_initcall(omap_device_init); > arch/arm/mach-omap2/omap_device.c:omap_late_initcall_sync(omap_device_late_init); > arch/arm/mach-omap2/omap_hwmod.c:omap_postcore_initcall(omap_hwmod_setup_all); > arch/arm/mach-omap2/omap_phy_internal.c:omap_early_initcall(omap4430_phy_power_down); > arch/arm/mach-omap2/opp3xxx_data.c:omap_device_initcall(omap3_opp_init); > arch/arm/mach-omap2/opp4xxx_data.c:omap_device_initcall(omap4_opp_init); > arch/arm/mach-omap2/pm-debug.c:omap_arch_initcall(pm_dbg_init); > arch/arm/mach-omap2/pm.c:omap_postcore_initcall(omap2_common_pm_init); > arch/arm/mach-omap2/pmu.c:omap_subsys_initcall(omap_init_pmu); > arch/arm/mach-omap2/serial.c:omap_postcore_initcall(omap_serial_early_init); > arch/arm/mach-omap2/smartreflex-class3.c:omap_late_initcall(sr_class3_init); > arch/arm/mach-omap2/timer.c:omap_arch_initcall(omap2_dm_timer_init); > arch/arm/mach-omap2/wd_timer.c:omap_subsys_initcall(omap_init_wdt); -- Regards, Nishanth Menon