From mboxrd@z Thu Jan 1 00:00:00 1970 From: tony@atomide.com (Tony Lindgren) Date: Mon, 14 Sep 2015 13:22:30 -0700 Subject: [PATCH v3 0/2] regulator: Fix pbias regulator enable In-Reply-To: References: <1441368025-21182-1-git-send-email-kishon@ti.com> Message-ID: <20150914202230.GY4215@atomide.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, * Ulf Hansson [150904 05:48]: > > Okay, just to be clear on the way forward. I spoked with Mark Brown > offlist, and he will/has picked up the regulator patch and will send > it as fix for the 4.3 rc[n]. > > Regarding the ARM patch here, I guess Tony might as well handle it and > send through arm-soc, especially since the regression won't be fixed > within my mmc tree anyway. > > So, I am going to leave my next branch as is - and thus relying on > teet the regression for OMAP will be fixed in some the 4.3 rc[n]. I'm picking up the .dts changes from this series into omap-for-v4.3/fixes as those are safe to apply while waiting for the pbias-regulator.c fix to hit mainline. I'm not yet applying the related dts change "fix address translation for pbias" as that depends on the pbias-regulator.c change. Howver, when testing all the patches applied, I'm still getting the following splat at least on duovero (with MMC working): WARNING: CPU: 0 PID: 6 at drivers/regulator/core.c:2105 _regulator_disable+0x13c/0x1d4() unbalanced disables for pbias_mmc_omap4 Modules linked in: CPU: 0 PID: 6 Comm: kworker/u4:0 Not tainted 4.3.0-rc1-00015-gf5c4173-dirty #1295 Hardware name: Generic OMAP4 (Flattened Device Tree) Workqueue: deferwq deferred_probe_work_func [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x84/0x9c) [] (dump_stack) from [] (warn_slowpath_common+0x78/0xb4) [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40) [] (warn_slowpath_fmt) from [] (_regulator_disable+0x13c/0x1d4) [] (_regulator_disable) from [] (regulator_disable+0x30/0x6c) [] (regulator_disable) from [] (omap_hsmmc_set_power+0x158/0x1e8) [] (omap_hsmmc_set_power) from [] (omap_hsmmc_set_ios+0x198/0x318) [] (omap_hsmmc_set_ios) from [] (mmc_power_up.part.10+0x30/0xf8) [] (mmc_power_up.part.10) from [] (mmc_start_host+0x40/0x7c) [] (mmc_start_host) from [] (mmc_add_host+0x5c/0x84) [] (mmc_add_host) from [] (omap_hsmmc_probe+0x5b0/0x9f0) [] (omap_hsmmc_probe) from [] (platform_drv_probe+0x44/0xac) [] (platform_drv_probe) from [] (driver_probe_device+0x1f4/0x2f0) [] (driver_probe_device) from [] (bus_for_each_drv+0x64/0x98) [] (bus_for_each_drv) from [] (__device_attach+0xb0/0x118) [] (__device_attach) from [] (bus_probe_device+0x88/0x90) [] (bus_probe_device) from [] (deferred_probe_work_func+0x60/0x90) [] (deferred_probe_work_func) from [] (process_one_work+0x1a4/0x558) [] (process_one_work) from [] (worker_thread+0x3c/0x514) [] (worker_thread) from [] (kthread+0xd4/0xf0) [] (kthread) from [] (ret_from_fork+0x14/0x24) Kishon, can you please take a look? Regards, Tony