> I'm using 2.6.31-rc5 from Kevin's PM branch (commit ID > 70a1f2249bbe765f78cf5e220e4e3f539b41eb7f) and I'm trying to add in LCD > panel support for our OMAP boards. > > I've cloned drivers/video/lcd_omap3evm.c, and when I call into > omapfb_main::omapfb_register_panel() it crashes with: > > <4>Platform driver 'omapfb' needs updating - please use dev_pm_ops > omapfb_probe:1829 pdev c03f0258 > omap3logic: Registering platform driver > <4>Platform driver 'omap3logic_lcd' needs updating - please use > dev_pm_ops > omap3logic_panel_probe:463 panel c0425de4 (name 15) > omapfb_register_panel:1842 > omapfb_do_probe:1673 pdev c03f0258 panel c0425de4 > omapfb_do_probe:1697 > <4>MUX: setup D28_34XX_DSS_PCLK (0xd80020d4): 0x0000 -> 0x0108 > <4>MUX: setup D26_34XX_DSS_HSYNC (0xd80020d6): 0x0000 -> 0x0108 > <4>MUX: setup D27_34XX_DSS_VSYNC (0xd80020d8): 0x0000 -> 0x0108 > <4>MUX: setup E27_34XX_DSS_ACBIAS (0xd80020da): 0x0000 -> 0x0108 > <4>MUX: setup AG22_34XX_DSS_D0 (0xd80020dc): 0x0000 -> 0x0108 > <4>MUX: setup AH22_34XX_DSS_D1 (0xd80020de): 0x0000 -> 0x0108 > <4>MUX: setup AG23_34XX_DSS_D2 (0xd80020e0): 0x0000 -> 0x0108 > <4>MUX: setup AH23_34XX_DSS_D3 (0xd80020e2): 0x0000 -> 0x0108 > <4>MUX: setup AG24_34XX_DSS_D4 (0xd80020e4): 0x0000 -> 0x0108 > <4>MUX: setup AH24_34XX_DSS_D5 (0xd80020e6): 0x0000 -> 0x0108 > <4>MUX: setup E26_34XX_DSS_D6 (0xd80020e8): 0x0000 -> 0x0108 > <4>MUX: setup F28_34XX_DSS_D7 (0xd80020ea): 0x0000 -> 0x0108 > <4>MUX: setup F27_34XX_DSS_D8 (0xd80020ec): 0x0000 -> 0x0108 > <4>MUX: setup G26_34XX_DSS_D9 (0xd80020ee): 0x0000 -> 0x0108 > <4>MUX: setup AD28_34XX_DSS_D10 (0xd80020f0): 0x0000 -> 0x0108 > <4>MUX: setup AD27_34XX_DSS_D11 (0xd80020f2): 0x0000 -> 0x0108 > <4>MUX: setup AB28_34XX_DSS_D12 (0xd80020f4): 0x0000 -> 0x0108 > <4>MUX: setup AB27_34XX_DSS_D13 (0xd80020f6): 0x0000 -> 0x0108 > <4>MUX: setup AA28_34XX_DSS_D14 (0xd80020f8): 0x0000 -> 0x0108 > <4>MUX: setup AA27_34XX_DSS_D15 (0xd80020fa): 0x0000 -> 0x0108 > <4>MUX: setup G26_34XX_DSS_D16 (0xd80020fc): 0x0000 -> 0x0108 > <4>MUX: setup H27_34XX_DSS_D17 (0xd80020fe): 0x0000 -> 0x0108 > <4>MUX: setup H26_34XX_DSS_D18 (0xd8002100): 0x0000 -> 0x0108 > <4>MUX: setup H25_34XX_DSS_D19 (0xd8002102): 0x0000 -> 0x0108 > <4>MUX: setup E28_34XX_DSS_D20 (0xd8002104): 0x0000 -> 0x0108 > <4>MUX: setup J26_34XX_DSS_D21 (0xd8002106): 0x0000 -> 0x0108 > <4>MUX: setup AC27_34XX_DSS_D22 (0xd8002108): 0x0000 -> 0x0108 > <4>MUX: setup AC27_34XX_DSS_D23 (0xd800210a): 0x0000 -> 0x0108 > <4>MUX: setup AD2_34XX_GPIO154 (0xd8002188): 0x0101 -> 0x0004 > <4>MUX: setup AC1_34XX_GPIO155 (0xd800218a): 0x0101 -> 0x0004 > <6>omapfb: configured for panel 15 > omapfb_do_probe:1733 > <6>omapfb: DISPC version 3.0 initialized > omapfb_do_probe:1741 > omapfb_do_probe:1745 > planes_init:1540 region_cnt 1 > <4>------------[ cut here ]------------ > <4>WARNING: at kernel/mutex.c:207 __mutex_lock_slowpath+0xb8/0x240() > <d>Modules linked in: > [<c0033444>] (unwind_backtrace+0x0/0xd4) from [<c005a02c>] > (warn_slowpath_common+0x4c/0x68) > [<c005a02c>] (warn_slowpath_common+0x4c/0x68) from [<c02dc104>] > (__mutex_lock_slowpath+0xb8/0x240) > [<c02dc104>] (__mutex_lock_slowpath+0xb8/0x240) from [<c02dc298>] > (mutex_lock+0xc/0x1c) > [<c02dc298>] (mutex_lock+0xc/0x1c) from [<c01a417c>] (set_fb_fix > +0x40/0xcc) > [<c01a417c>] (set_fb_fix+0x40/0xcc) from [<c01a4dc8>] (omapfb_do_probe > +0x4d0/0x9d0) > [<c01a4dc8>] (omapfb_do_probe+0x4d0/0x9d0) from [<c01a7ef4>] > (omap3logic_panel_probe+0x4c/0x6c) > [<c01a7ef4>] (omap3logic_panel_probe+0x4c/0x6c) from [<c01cbfe8>] > (platform_drv_probe+0x1c/0x24) > [<c01cbfe8>] (platform_drv_probe+0x1c/0x24) from [<c01cb22c>] > (driver_probe_device+0xb8/0x164) > [<c01cb22c>] (driver_probe_device+0xb8/0x164) from [<c01cb338>] > (__driver_attach+0x60/0x84) > [<c01cb338>] (__driver_attach+0x60/0x84) from [<c01ca6b8>] > (bus_for_each_dev+0x48/0x80) > [<c01ca6b8>] (bus_for_each_dev+0x48/0x80) from [<c01cac48>] > (bus_add_driver+0xa0/0x224) > [<c01cac48>] (bus_add_driver+0xa0/0x224) from [<c01cb634>] > (driver_register+0xac/0x134) > [<c01cb634>] (driver_register+0xac/0x134) from [<c002d2b0>] > (do_one_initcall+0x50/0x17c) > [<c002d2b0>] (do_one_initcall+0x50/0x17c) from [<c000888c>] (kernel_init > +0x88/0x100) > [<c000888c>] (kernel_init+0x88/0x100) from [<c002ece0>] > (kernel_thread_exit+0x0/0x8) > > I believe the problem is in set_fb_fix() (called from planes_init()) > trying to pull the lock for fbi->mm_lock which is not initialized since > register_framebuffer() has not yet been called (called after > planes_init() is called). > > Any ideas what I'm doing wrong? > Maybe this patch will help? <http://patchwork.kernel.org/patch/42995/> - Anand -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html