Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Olof Johansson: "Driver updates for ARM SoCs. A slew of changes this release cycle. The reset driver tree, that we merge through arm-soc for historical reasons, is also sizable this time around. Among the changes: - clps711x: Treewide changes to compatible strings, merged here for simplicity. - Qualcomm: SCM firmware driver cleanups, move to platform driver - ux500: Major cleanups, removal of old mach-specific infrastructure. - Atmel external bus memory driver - Move of brcmstb platform to the rest of bcm - PMC driver updates for tegra, various fixes and improvements - Samsung platform driver updates to support 64-bit Exynos platforms - Reset controller cleanups moving to devm_reset_controller_register() APIs - Reset controller driver for Amlogic Meson - Reset controller driver for Hisilicon hi6220 - ARM SCPI power domain support" * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (100 commits) ARM: ux500: consolidate base platform files ARM: ux500: move soc_id driver to drivers/soc ARM: ux500: call ux500_setup_id later ARM: ux500: consolidate soc_device code in id.c ARM: ux500: remove cpu_is_u* helpers ARM: ux500: use CLK_OF_DECLARE() ARM: ux500: move l2x0 init to .init_irq mfd: db8500 stop passing around platform data ASoC: ab8500-codec: remove platform data based probe ARM: ux500: move ab8500_regulator_plat_data into driver ARM: ux500: remove unused regulator data soc: raspberrypi-power: add CONFIG_OF dependency firmware: scpi: add CONFIG_OF dependency video: clps711x-fb: Changing the compatibility string to match with the smallest supported chip input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip pwm: clps711x: Changing the compatibility string to match with the smallest supported chip serial: clps711x: Changing the compatibility string to match with the smallest supported chip irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip clocksource: clps711x: Changing the compatibility string to match with the smallest supported chip clk: clps711x: Changing the compatibility string to match with the smallest supported chip ...
This commit is contained in:
@@ -2464,45 +2464,20 @@ static int ab8500_codec_probe(struct snd_soc_codec *codec)
|
||||
struct device *dev = codec->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(dev);
|
||||
struct ab8500_platform_data *pdata;
|
||||
struct ab8500_codec_platform_data codec_pdata;
|
||||
struct filter_control *fc;
|
||||
int status;
|
||||
|
||||
dev_dbg(dev, "%s: Enter.\n", __func__);
|
||||
|
||||
/* Setup AB8500 according to board-settings */
|
||||
pdata = dev_get_platdata(dev->parent);
|
||||
ab8500_codec_of_probe(dev, np, &codec_pdata);
|
||||
|
||||
if (np) {
|
||||
if (!pdata)
|
||||
pdata = devm_kzalloc(dev,
|
||||
sizeof(struct ab8500_platform_data),
|
||||
GFP_KERNEL);
|
||||
|
||||
if (pdata && !pdata->codec)
|
||||
pdata->codec
|
||||
= devm_kzalloc(dev,
|
||||
sizeof(struct ab8500_codec_platform_data),
|
||||
GFP_KERNEL);
|
||||
|
||||
if (!(pdata && pdata->codec))
|
||||
return -ENOMEM;
|
||||
|
||||
ab8500_codec_of_probe(dev, np, pdata->codec);
|
||||
|
||||
} else {
|
||||
if (!(pdata && pdata->codec)) {
|
||||
dev_err(dev, "No codec platform data or DT found\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
|
||||
status = ab8500_audio_setup_mics(codec, &pdata->codec->amics);
|
||||
status = ab8500_audio_setup_mics(codec, &codec_pdata.amics);
|
||||
if (status < 0) {
|
||||
pr_err("%s: Failed to setup mics (%d)!\n", __func__, status);
|
||||
return status;
|
||||
}
|
||||
status = ab8500_audio_set_ear_cmv(codec, pdata->codec->ear_cmv);
|
||||
status = ab8500_audio_set_ear_cmv(codec, codec_pdata.ear_cmv);
|
||||
if (status < 0) {
|
||||
pr_err("%s: Failed to set earpiece CM-voltage (%d)!\n",
|
||||
__func__, status);
|
||||
|
Reference in New Issue
Block a user