alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] ASoC: Intel: bytcht_es8316: few cleanups
@ 2021-10-06 16:52 Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() Andy Shevchenko
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Andy Shevchenko @ 2021-10-06 16:52 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, linux-kernel
  Cc: Cezary Rojewski, Andy Shevchenko, Jie Yang, Takashi Iwai,
	Pierre-Louis Bossart, Liam Girdwood

The small set of cleanups against bytcht_es8316 board file.

In v2:
- added tag (Pierre)
- added commit message to the patch 2 (Joe)

Andy Shevchenko (4):
  ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata()
  ASoC: Intel: bytcht_es8316: Use temporary variable for struct device
  ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional()
  ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log
    saturation

 sound/soc/intel/boards/bytcht_es8316.c | 37 +++++++++-----------------
 1 file changed, 12 insertions(+), 25 deletions(-)

-- 
2.33.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata()
  2021-10-06 16:52 [PATCH v2 0/4] ASoC: Intel: bytcht_es8316: few cleanups Andy Shevchenko
@ 2021-10-06 16:52 ` Andy Shevchenko
  2021-10-06 17:09   ` Mark Brown
  2021-10-06 16:52 ` [PATCH v2 2/4] ASoC: Intel: bytcht_es8316: Use temporary variable for struct device Andy Shevchenko
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2021-10-06 16:52 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, linux-kernel
  Cc: Cezary Rojewski, Andy Shevchenko, Jie Yang, Takashi Iwai,
	Pierre-Louis Bossart, Liam Girdwood

Access to platform data via dev_get_platdata() getter to make code cleaner.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Pierre-Louis Bossart <pierre-louis.bossart@linux.com>
---
 sound/soc/intel/boards/bytcht_es8316.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index 1bb9b8e7bcc7..4360519fbb0c 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,
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/4] ASoC: Intel: bytcht_es8316: Use temporary variable for struct device
  2021-10-06 16:52 [PATCH v2 0/4] ASoC: Intel: bytcht_es8316: few cleanups Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() Andy Shevchenko
@ 2021-10-06 16:52 ` Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 3/4] ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 4/4] ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation Andy Shevchenko
  3 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2021-10-06 16:52 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, linux-kernel
  Cc: Cezary Rojewski, Andy Shevchenko, Jie Yang, Takashi Iwai,
	Pierre-Louis Bossart, Liam Girdwood

Use temporary variable for struct device to make code neater.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Pierre-Louis Bossart <pierre-louis.bossart@linux.com>
---
 sound/soc/intel/boards/bytcht_es8316.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index 4360519fbb0c..171f3d8c5996 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -493,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;
 	}
 
@@ -596,7 +596,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) {
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/4] ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional()
  2021-10-06 16:52 [PATCH v2 0/4] ASoC: Intel: bytcht_es8316: few cleanups Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 2/4] ASoC: Intel: bytcht_es8316: Use temporary variable for struct device Andy Shevchenko
@ 2021-10-06 16:52 ` Andy Shevchenko
  2021-10-06 16:52 ` [PATCH v2 4/4] ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation Andy Shevchenko
  3 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2021-10-06 16:52 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, linux-kernel
  Cc: Cezary Rojewski, Andy Shevchenko, Jie Yang, Takashi Iwai,
	Pierre-Louis Bossart, Liam Girdwood

First of all, replace indexed API by plain one since we have index 0.
Second, switch to optional variant and drop duplicated code.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Pierre-Louis Bossart <pierre-louis.bossart@linux.com>
---
 sound/soc/intel/boards/bytcht_es8316.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index 171f3d8c5996..d8dcf63825a6 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -566,16 +566,12 @@ 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;
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 4/4] ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation
  2021-10-06 16:52 [PATCH v2 0/4] ASoC: Intel: bytcht_es8316: few cleanups Andy Shevchenko
                   ` (2 preceding siblings ...)
  2021-10-06 16:52 ` [PATCH v2 3/4] ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() Andy Shevchenko
@ 2021-10-06 16:52 ` Andy Shevchenko
  3 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2021-10-06 16:52 UTC (permalink / raw)
  To: Mark Brown, alsa-devel, linux-kernel
  Cc: Cezary Rojewski, Andy Shevchenko, Jie Yang, Takashi Iwai,
	Pierre-Louis Bossart, Liam Girdwood

dev_err_probe() avoids printing into log when the deferred probe is invoked.
This is possible when clock provider is pending to appear.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Pierre-Louis Bossart <pierre-louis.bossart@linux.com>
---
 sound/soc/intel/boards/bytcht_es8316.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index d8dcf63825a6..9d86fea51a7d 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -532,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);
@@ -570,14 +567,9 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 				   /* 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) {
-		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),
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata()
  2021-10-06 16:52 ` [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() Andy Shevchenko
@ 2021-10-06 17:09   ` Mark Brown
  0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2021-10-06 17:09 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Pierre-Louis Bossart, Cezary Rojewski, Takashi Iwai, Jie Yang,
	alsa-devel, linux-kernel, Liam Girdwood

[-- Attachment #1: Type: text/plain, Size: 341 bytes --]

On Wed, Oct 06, 2021 at 07:52:25PM +0300, Andy Shevchenko wrote:
> Access to platform data via dev_get_platdata() getter to make code cleaner.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Pierre-Louis Bossart <pierre-louis.bossart@linux.com>

Not sure that's what you meant by adding Pierre's tags...  :P

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-10-06 17:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-06 16:52 [PATCH v2 0/4] ASoC: Intel: bytcht_es8316: few cleanups Andy Shevchenko
2021-10-06 16:52 ` [PATCH v2 1/4] ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() Andy Shevchenko
2021-10-06 17:09   ` Mark Brown
2021-10-06 16:52 ` [PATCH v2 2/4] ASoC: Intel: bytcht_es8316: Use temporary variable for struct device Andy Shevchenko
2021-10-06 16:52 ` [PATCH v2 3/4] ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() Andy Shevchenko
2021-10-06 16:52 ` [PATCH v2 4/4] ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).