* [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, Pierre-Louis Bossart, Liam Girdwood, Jie Yang,
Jaroslav Kysela, Takashi Iwai, Andy Shevchenko
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* 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: alsa-devel, linux-kernel, Cezary Rojewski, Pierre-Louis Bossart,
Liam Girdwood, Jie Yang, Jaroslav Kysela, Takashi Iwai
[-- 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
* [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, Pierre-Louis Bossart, Liam Girdwood, Jie Yang,
Jaroslav Kysela, Takashi Iwai, Andy Shevchenko
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, Pierre-Louis Bossart, Liam Girdwood, Jie Yang,
Jaroslav Kysela, Takashi Iwai, Andy Shevchenko
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, Pierre-Louis Bossart, Liam Girdwood, Jie Yang,
Jaroslav Kysela, Takashi Iwai, Andy Shevchenko
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