Skip to content

Commit 58f598f

Browse files
Lee Jonesbroonie
Lee Jones
authored andcommitted
ASoC: ab8500: Inform SoC Core that we have our own I/O arrangements
If codec->control_data is not populated SoC Core assumes we want to use regmap, which fails catastrophically, as we don't have one: Unable to handle kernel NULL pointer dereference at virtual address 00000080 pgd = c0004000 [00000080] *pgd=00000000 Internal error: Oops: 17 [#1] PREEMPT SMP ARM Modules linked in: CPU: 1 Not tainted (3.5.0-rc6-00884-g0b2419e-dirty #130) PC is at regmap_read+0x10/0x5c LR is at hw_read+0x80/0x90 pc : [<c01a91b8>] lr : [<c0216804>] psr: 60000013 Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent 5e70b7f commit 58f598f

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

sound/soc/codecs/ab8500-codec.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2406,6 +2406,10 @@ static int ab8500_codec_probe(struct snd_soc_codec *codec)
24062406

24072407
/* Setup AB8500 according to board-settings */
24082408
pdata = (struct ab8500_platform_data *)dev_get_platdata(dev->parent);
2409+
2410+
/* Inform SoC Core that we have our own I/O arrangements. */
2411+
codec->control_data = (void *)true;
2412+
24092413
status = ab8500_audio_setup_mics(codec, &pdata->codec->amics);
24102414
if (status < 0) {
24112415
pr_err("%s: Failed to setup mics (%d)!\n", __func__, status);

0 commit comments

Comments
 (0)