diff options
Diffstat (limited to 'sound/soc/intel/boards/bytcht_es8316.c')
| -rw-r--r-- | sound/soc/intel/boards/bytcht_es8316.c | 37 | 
1 files changed, 12 insertions, 25 deletions
| diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c index 055248f104b2..4d313d0d0f23 100644 --- a/sound/soc/intel/boards/bytcht_es8316.c +++ b/sound/soc/intel/boards/bytcht_es8316.c @@ -456,12 +456,12 @@ static const struct dmi_system_id byt_cht_es8316_quirk_table[] = {  static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)  { +	struct device *dev = &pdev->dev;  	static const char * const mic_name[] = { "in1", "in2" }; +	struct snd_soc_acpi_mach *mach = dev_get_platdata(dev);  	struct property_entry props[MAX_NO_PROPS] = {};  	struct byt_cht_es8316_private *priv;  	const struct dmi_system_id *dmi_id; -	struct device *dev = &pdev->dev; -	struct snd_soc_acpi_mach *mach;  	struct fwnode_handle *fwnode;  	const char *platform_name;  	struct acpi_device *adev; @@ -476,7 +476,6 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)  	if (!priv)  		return -ENOMEM; -	mach = dev->platform_data;  	/* fix index of codec dai */  	for (i = 0; i < ARRAY_SIZE(byt_cht_es8316_dais); i++) {  		if (!strcmp(byt_cht_es8316_dais[i].codecs->name, @@ -494,7 +493,7 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)  		put_device(&adev->dev);  		byt_cht_es8316_dais[dai_index].codecs->name = codec_name;  	} else { -		dev_err(&pdev->dev, "Error cannot find '%s' dev\n", mach->id); +		dev_err(dev, "Error cannot find '%s' dev\n", mach->id);  		return -ENXIO;  	} @@ -533,11 +532,8 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)  	/* get the clock */  	priv->mclk = devm_clk_get(dev, "pmc_plt_clk_3"); -	if (IS_ERR(priv->mclk)) { -		ret = PTR_ERR(priv->mclk); -		dev_err(dev, "clk_get pmc_plt_clk_3 failed: %d\n", ret); -		return ret; -	} +	if (IS_ERR(priv->mclk)) +		return dev_err_probe(dev, PTR_ERR(priv->mclk), "clk_get pmc_plt_clk_3 failed\n");  	/* get speaker enable GPIO */  	codec_dev = acpi_get_first_physical_node(adev); @@ -567,22 +563,13 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)  	devm_acpi_dev_add_driver_gpios(codec_dev, byt_cht_es8316_gpios);  	priv->speaker_en_gpio = -		gpiod_get_index(codec_dev, "speaker-enable", 0, -				/* see comment in byt_cht_es8316_resume */ -				GPIOD_OUT_LOW | GPIOD_FLAGS_BIT_NONEXCLUSIVE); - +		gpiod_get_optional(codec_dev, "speaker-enable", +				   /* see comment in byt_cht_es8316_resume() */ +				   GPIOD_OUT_LOW | GPIOD_FLAGS_BIT_NONEXCLUSIVE);  	if (IS_ERR(priv->speaker_en_gpio)) { -		ret = PTR_ERR(priv->speaker_en_gpio); -		switch (ret) { -		case -ENOENT: -			priv->speaker_en_gpio = NULL; -			break; -		default: -			dev_err(dev, "get speaker GPIO failed: %d\n", ret); -			fallthrough; -		case -EPROBE_DEFER: -			goto err_put_codec; -		} +		ret = dev_err_probe(dev, PTR_ERR(priv->speaker_en_gpio), +				    "get speaker GPIO failed\n"); +		goto err_put_codec;  	}  	snprintf(components_string, sizeof(components_string), @@ -597,7 +584,7 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)  	byt_cht_es8316_card.long_name = long_name;  #endif -	sof_parent = snd_soc_acpi_sof_parent(&pdev->dev); +	sof_parent = snd_soc_acpi_sof_parent(dev);  	/* set card and driver name */  	if (sof_parent) { |