From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: [GIT PULL] ARM: OMAP: Timer and Counter DT Updates for v3.8 Date: Wed, 7 Nov 2012 15:44:04 -0800 Message-ID: <20121107234403.GS6801@atomide.com> References: <50941812.2070501@ti.com> <20121107004703.GS6801@atomide.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20121107004703.GS6801@atomide.com> Sender: linux-omap-owner@vger.kernel.org To: Jon Hunter Cc: "linux-omap@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , device-tree List-Id: devicetree@vger.kernel.org Hi Jon, * Tony Lindgren [121106 16:48]: > * Jon Hunter [121102 12:01]: > > > > git@github.com:jonhunter/linux.git dev-dt-timer > > Thanks pulling into omap-for-v3.8/dt branch. Looks like omap-for-v3.8/dt boots OK on blaze when booted with device tree, but then current omap-for-v3.8/tmp-merge oopses. I guess we should apply the following fix somewhere or do we need to check other places too? Regards, Tony [] (omap_dm_timer_probe+0x110/0x310) from [] (platform_drv_probe+0x1c/0x24) [] (platform_drv_probe+0x1c/0x24) from [] (really_probe+0x60/0x1f4) [] (really_probe+0x60/0x1f4) from [] (driver_probe_device+0x34/0x50) [] (driver_probe_device+0x34/0x50) from [] (__driver_attach+0x94/0x98) [] (__driver_attach+0x94/0x98) from [] (bus_for_each_dev+0x60/0x8c) [] (bus_for_each_dev+0x60/0x8c) from [] (bus_add_driver+0x18c/0x254) [] (bus_add_driver+0x18c/0x254) from [] (driver_register+0x5c/0x150) [] (driver_register+0x5c/0x150) from [] (do_one_initcall+0x2c/0x178) [] (do_one_initcall+0x2c/0x178) from [] (do_basic_setup+0x94/0xd0) [] (do_basic_setup+0x94/0xd0) from [] (kernel_init_freeable+0x7c/0x124) [] (kernel_init_freeable+0x7c/0x124) from [] (kernel_init+0x8/0x1a8) [] (kernel_init+0x8/0x1a8) from [] (ret_from_fork+0x14/0x24) --- a/arch/arm/plat-omap/dmtimer.c +++ b/arch/arm/plat-omap/dmtimer.c @@ -803,8 +803,11 @@ static int __devinit omap_dm_timer_probe(struct platform_device *pdev) timer->irq = irq->start; timer->pdev = pdev; - timer->capability = pdata->timer_capability; - timer->get_context_loss_count = pdata->get_context_loss_count; + + if (pdata) { + timer->capability = pdata->timer_capability; + timer->get_context_loss_count = pdata->get_context_loss_count; + } /* Skip pm_runtime_enable for OMAP1 */ if (!(timer->capability & OMAP_TIMER_NEEDS_RESET)) {