From mboxrd@z Thu Jan 1 00:00:00 1970 From: tony@atomide.com (Tony Lindgren) Date: Fri, 12 Feb 2016 16:49:35 -0800 Subject: GPIO regression in Linux next caused by syscon change In-Reply-To: <20160213002643.GQ19432@atomide.com> References: <20160213002643.GQ19432@atomide.com> Message-ID: <20160213004935.GR19432@atomide.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org * Tony Lindgren [160212 16:31]: > Hi, > > Looks like commit effe02710335 ("mfd: syscon: Set regmap max_register > in of_syscon_register") somehow breaks smsc911x GPIO interrupt for > me at least on omap3: > > irq 241: nobody cared (try booting with the "irqpoll" option) > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.5.0-rc3-next-20160212 #864 > Hardware name: Generic OMAP36xx (Flattened Device Tree) > [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [] (show_stack) from [] (dump_stack+0xb0/0xe4) > [] (dump_stack) from [] (__report_bad_irq+0x24/0xc0) > [] (__report_bad_irq) from [] (note_interrupt+0x27c/0x2dc) > [] (note_interrupt) from [] (handle_irq_event_percpu+0x184/0x200) > [] (handle_irq_event_percpu) from [] (handle_irq_event+0x38/0x5c) > [] (handle_irq_event) from [] (handle_level_irq+0xc0/0x154) > [] (handle_level_irq) from [] (generic_handle_irq+0x20/0x34) > [] (generic_handle_irq) from [] (omap_gpio_irq_handler+0x120/0x160) > [] (omap_gpio_irq_handler) from [] (handle_irq_event_percpu+0x54/0x200) > [] (handle_irq_event_percpu) from [] (handle_irq_event+0x38/0x5c) > [] (handle_irq_event) from [] (handle_level_irq+0xc0/0x154) > [] (handle_level_irq) from [] (generic_handle_irq+0x20/0x34) > [] (generic_handle_irq) from [] (__handle_domain_irq+0x64/0xe0) > [] (__handle_domain_irq) from [] (__irq_svc+0x58/0x78) > [] (__irq_svc) from [] (_raw_spin_unlock_irqrestore+0x34/0x44) > [] (_raw_spin_unlock_irqrestore) from [] (__setup_irq+0x40c/0x5e0) > [] (__setup_irq) from [] (request_threaded_irq+0xc0/0x158) > [] (request_threaded_irq) from [] (smsc911x_drv_probe+0x588/0xfec) > [] (smsc911x_drv_probe) from [] (platform_drv_probe+0x4c/0xb0) > [] (platform_drv_probe) from [] (driver_probe_device+0x208/0x2c0) > [] (driver_probe_device) from [] (__driver_attach+0x94/0x98) > [] (__driver_attach) from [] (bus_for_each_dev+0x6c/0xa0) > [] (bus_for_each_dev) from [] (bus_add_driver+0x18c/0x214) > [] (bus_add_driver) from [] (driver_register+0x78/0xf8) > [] (driver_register) from [] (do_one_initcall+0x80/0x1dc) > [] (do_one_initcall) from [] (kernel_init_freeable+0x218/0x2ec) > [] (kernel_init_freeable) from [] (kernel_init+0x8/0xf4) > [] (kernel_init) from [] (ret_from_fork+0x14/0x24) > handlers: > [] smsc911x_irqhandler > Disabling IRQ #241 > libphy: smsc911x-mdio: probed > > I'm not seeing the connection between regmap and GPIO, so no > idea what goes wrong here. The only regmap here is the scm_conf in omap3.dtsi. Probably some resource size calculation issue causing an overlap? Tony