Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1614894

[PATCH v2 0/2] Hi655x: mfd/pmic: regulator: Correct dependencies

Path csiph.com!news.mixmin.net!news.unit0.net!news.panservice.it!diesel.cu.mi.it!bofh.it!news.nic.it!robomod
From Jeremy Linton <lintonrjeremy@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v2 0/2] Hi655x: mfd/pmic: regulator: Correct dependencies
Date Mon, 03 Apr 2017 07:30:01 +0200
Message-ID <ts2IV-2C8-3@gated-at.bofh.it> (permalink)
X-Mailer git-send-email 2.10.2
X-Rr-Connecting-IP 107.14.168.88:25
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 40
Organization linux.* mail to news gateway
X-Original-Cc broonie@kernel.org, lgirdwood@gmail.com, puck.chen@hisilicon.com, lee.jones@linaro.org, Jeremy Linton <lintonrjeremy@gmail.com>
X-Original-Date Mon, 3 Apr 2017 00:28:41 -0500
X-Original-Message-ID <20170403052843.12711-1-lintonrjeremy@gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1614894

Show key headers only | View raw


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
 ...
 [<ffff800078fc5c78>] 0xffff800078fc5c78
 [<ffff0000086248f8>] regulator_set_voltage_sel_regmap+0x50/0x98
 [<ffff00000861e830>] _regulator_do_set_voltage+0x4c8/0x7c0
 [<ffff000008620804>] regulator_set_voltage_unlocked+0xc4/0x258
 [<ffff0000086209d4>] regulator_set_voltage+0x3c/0x70
 [<ffff000000af1b30>] mmc_regulator_set_ocr+0x48/0x100 [mmc_core]
 [<ffff000000c93da8>] dw_mci_set_ios+0x1e8/0x280 [dw_mmc]
 [<ffff000000af483c>] mmc_set_initial_state+0x84/0xf8 [mmc_core]
 [<ffff000000af490c>] mmc_power_up.part.13+0x5c/0x1f8 [mmc_core]
 [<ffff000000af5c20>] mmc_rescan+0x270/0x3b0 [mmc_core]
 [<ffff0000080f3a14>] process_one_work+0x264/0x7c0
 [<ffff0000080f3fc4>] worker_thread+0x54/0x430
 [<ffff0000080fc5dc>] kthread+0x104/0x130
 [<ffff000008083380>] 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

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH v2 0/2] Hi655x: mfd/pmic: regulator: Correct dependencies Jeremy Linton <lintonrjeremy@gmail.com> - 2017-04-03 07:30 +0200

csiph-web