Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: ab8500-codec: remove platform data based probe

The ux500 platform hasn't used board files for a long time, and
nothing defines a ab8500_codec_platform_data, so we can just
remove the probing based on that and always use device tree
properties directly.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Arnd Bergmann and committed by
Linus Walleij
cf4129ea 79886be0

+4 -29
+4 -29
sound/soc/codecs/ab8500-codec.c
··· 2464 2464 struct device *dev = codec->dev; 2465 2465 struct device_node *np = dev->of_node; 2466 2466 struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(dev); 2467 - struct ab8500_platform_data *pdata; 2467 + struct ab8500_codec_platform_data codec_pdata; 2468 2468 struct filter_control *fc; 2469 2469 int status; 2470 2470 2471 2471 dev_dbg(dev, "%s: Enter.\n", __func__); 2472 2472 2473 - /* Setup AB8500 according to board-settings */ 2474 - pdata = dev_get_platdata(dev->parent); 2473 + ab8500_codec_of_probe(dev, np, &codec_pdata); 2475 2474 2476 - if (np) { 2477 - if (!pdata) 2478 - pdata = devm_kzalloc(dev, 2479 - sizeof(struct ab8500_platform_data), 2480 - GFP_KERNEL); 2481 - 2482 - if (pdata && !pdata->codec) 2483 - pdata->codec 2484 - = devm_kzalloc(dev, 2485 - sizeof(struct ab8500_codec_platform_data), 2486 - GFP_KERNEL); 2487 - 2488 - if (!(pdata && pdata->codec)) 2489 - return -ENOMEM; 2490 - 2491 - ab8500_codec_of_probe(dev, np, pdata->codec); 2492 - 2493 - } else { 2494 - if (!(pdata && pdata->codec)) { 2495 - dev_err(dev, "No codec platform data or DT found\n"); 2496 - return -EINVAL; 2497 - } 2498 - } 2499 - 2500 - status = ab8500_audio_setup_mics(codec, &pdata->codec->amics); 2475 + status = ab8500_audio_setup_mics(codec, &codec_pdata.amics); 2501 2476 if (status < 0) { 2502 2477 pr_err("%s: Failed to setup mics (%d)!\n", __func__, status); 2503 2478 return status; 2504 2479 } 2505 - status = ab8500_audio_set_ear_cmv(codec, pdata->codec->ear_cmv); 2480 + status = ab8500_audio_set_ear_cmv(codec, codec_pdata.ear_cmv); 2506 2481 if (status < 0) { 2507 2482 pr_err("%s: Failed to set earpiece CM-voltage (%d)!\n", 2508 2483 __func__, status);