From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751406AbdDCF2t (ORCPT ); Mon, 3 Apr 2017 01:28:49 -0400 Received: from cdptpa-outbound-snat.email.rr.com ([107.14.166.227]:45145 "EHLO cdptpa-oedge-vip.email.rr.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751058AbdDCF2s (ORCPT ); Mon, 3 Apr 2017 01:28:48 -0400 From: Jeremy Linton To: linux-kernel@vger.kernel.org Cc: broonie@kernel.org, lgirdwood@gmail.com, puck.chen@hisilicon.com, lee.jones@linaro.org, Jeremy Linton Subject: [PATCH v2 0/2] Hi655x: mfd/pmic: regulator: Correct dependencies Date: Mon, 3 Apr 2017 00:28:41 -0500 Message-Id: <20170403052843.12711-1-lintonrjeremy@gmail.com> X-Mailer: git-send-email 2.10.2 X-RR-Connecting-IP: 107.14.168.88:25 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In an environment where the hi655x pmic is being built as a standalone module, it fails to automatically load resulting in boot failures, machine hangs, etc. First we correct this by setting an appropriate module dependency. Then we bump the module use count on the mfd/pmic driver so that it cannot be unloaded when in use. This avoids an unload warning and crashes like: Unable to handle kernel paging request at virtual address ffff800078fc5c78 pgd = ffff00000a150000 *pgd=000000007ffc0003, *pud=000000007ffc0003, *pmd=00e8000060000711 Internal error: Oops: 8600000e [#1] SMP ... [] 0xffff800078fc5c78 [] regulator_set_voltage_sel_regmap+0x50/0x98 [] _regulator_do_set_voltage+0x4c8/0x7c0 [] regulator_set_voltage_unlocked+0xc4/0x258 [] regulator_set_voltage+0x3c/0x70 [] mmc_regulator_set_ocr+0x48/0x100 [mmc_core] [] dw_mci_set_ios+0x1e8/0x280 [dw_mmc] [] mmc_set_initial_state+0x84/0xf8 [mmc_core] [] mmc_power_up.part.13+0x5c/0x1f8 [mmc_core] [] mmc_rescan+0x270/0x3b0 [mmc_core] [] process_one_work+0x264/0x7c0 [] worker_thread+0x54/0x430 [] kthread+0x104/0x130 [] ret_from_fork+0x10/0x50 V1->V2: Change from a module post call to a module_device_table. Jeremy Linton (2): regulator: hi655x: Describe consumed platform device regulator: hi655x: Bump parent pmic module use count drivers/regulator/hi655x-regulator.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) -- 2.10.2