From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751302AbdH0KV4 (ORCPT ); Sun, 27 Aug 2017 06:21:56 -0400 Received: from mx2.suse.de ([195.135.220.15]:35520 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751181AbdH0KVz (ORCPT ); Sun, 27 Aug 2017 06:21:55 -0400 Subject: Re: [PATCH v2 2/3] rtc: Add Realtek RTD1295 To: Andrew Lunn Cc: linux-rtc@vger.kernel.org, Alessandro Zummo , Roc He , ????????? , linux-kernel@vger.kernel.org, Alexandre Belloni , linux-arm-kernel@lists.infradead.org References: <20170827003328.28370-1-afaerber@suse.de> <20170827003328.28370-3-afaerber@suse.de> <20170827020501.GB13622@lunn.ch> <20170827032745.GC13622@lunn.ch> From: =?UTF-8?Q?Andreas_F=c3=a4rber?= Organization: SUSE Linux GmbH Message-ID: <0638c59f-9df5-32ca-31ac-a7b07ce6dad6@suse.de> Date: Sun, 27 Aug 2017 12:21:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170827032745.GC13622@lunn.ch> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrew, Am 27.08.2017 um 05:27 schrieb Andrew Lunn: > On Sun, Aug 27, 2017 at 04:30:08AM +0200, Andreas Färber wrote: >> Am 27.08.2017 um 04:05 schrieb Andrew Lunn: >>> n Sun, Aug 27, 2017 at 02:33:27AM +0200, Andreas Färber wrote: >>>> +struct rtd119x_rtc { >>>> + void __iomem *base; >>>> + struct clk *clk; >>>> + struct rtc_device *rtcdev; >>>> + unsigned base_year; >>>> + spinlock_t lock; >>> >>> Where is this lock initialised? I would expect a call to >>> spin_lock_init() somewhere. >> >> Hm, the spinlock in my irq mux series doesn't have that call either; my >> reset driver did have it. The zero initialization appears to work OK, >> but you're probably right that it should be there. > > Hi Andreas > > I suspect you will have problems if you enable spin lock debug code, > like CONFIG_DEBUG_SPINLOCK. Thanks for that hint. Surprisingly the irq mux is still fine with that option enabled, but the rtc now shows: [ 1.193722] BUG: spinlock bad magic on CPU#0, swapper/0/1 [ 1.199264] lock: 0xffff80007bd40db8, .magic: 00000000, .owner: /-1, .owner_cpu: 0 [ 1.207648] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.13.0-rc6-next-20170825-00061-g88513c6f5687 #180 [ 1.217269] Hardware name: Zidoo X9S (DT) [ 1.221378] Call trace: [ 1.223900] [] dump_backtrace+0x0/0x320 [ 1.229439] [] show_stack+0x14/0x1c [ 1.234622] [] dump_stack+0x94/0xbc [ 1.239804] [] spin_bug+0x84/0xa4 [ 1.244806] [] do_raw_spin_lock+0x30/0xd4 [ 1.250522] [] _raw_spin_lock_irqsave+0x28/0x38 [ 1.256772] [] rtd119x_rtc_read_time+0x24/0x14c [ 1.263019] [] __rtc_read_time+0x3c/0x64 [ 1.268644] [] rtc_read_time+0x34/0x5c [ 1.274091] [] __rtc_read_alarm+0x24/0x2f0 [ 1.279893] [] rtc_device_register+0xa0/0x144 [ 1.285962] [] devm_rtc_device_register+0x5c/0xa4 [ 1.292390] [] rtd119x_rtc_probe+0x174/0x1b4 [ 1.298373] [] platform_drv_probe+0x54/0xa8 [ 1.304265] [] driver_probe_device+0x1fc/0x2b8 [ 1.310423] [] __driver_attach+0x74/0xa4 [ 1.316051] [] bus_for_each_dev+0x80/0x90 [ 1.321765] [] driver_attach+0x20/0x28 [ 1.327211] [] bus_add_driver+0x194/0x1e0 [ 1.332925] [] driver_register+0x98/0xd0 [ 1.338550] [] __platform_driver_register+0x48/0x50 [ 1.345155] [] rtd119x_rtc_driver_init+0x18/0x20 [ 1.351493] [] do_one_initcall+0x118/0x13c [ 1.357299] [] kernel_init_freeable+0x220/0x224 [ 1.363548] [] kernel_init+0x10/0xf8 [ 1.368819] [] ret_from_fork+0x10/0x18 [ 1.375104] rtd1295-rtc 9801b600.rtc: rtc core: registered rtc as rtc0 Will fix. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg)