All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	tiwai@suse.de,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Hans de Goede <hdegoede@redhat.com>,
	broonie@kernel.org,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v2 2/8] ASoC: Intel: boards: handle errors with acpi_dev_get_first_match_dev()
Date: Thu, 12 Aug 2021 17:44:37 -0500	[thread overview]
Message-ID: <20210812224443.170144-3-pierre-louis.bossart@linux.intel.com> (raw)
In-Reply-To: <20210812224443.170144-1-pierre-louis.bossart@linux.intel.com>

acpi_dev_get_first_match_dev() searches for an acpi_handle
instantiated by the ACPI table scanning done early during boot.

Two of three machine drivers using this search don't deal with errors
and the one which does (bytcr_rt5651) returns -ENODEV, which doesn't
make sense here: an alternate driver will not be probed.

Add consistent error handling and report -ENXIO

Suggested-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bytcht_es8316.c | 3 +++
 sound/soc/intel/boards/bytcr_rt5640.c  | 3 +++
 sound/soc/intel/boards/bytcr_rt5651.c  | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index fcf7c9c04069..7c078a9f6deb 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -492,6 +492,9 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 			 "i2c-%s", acpi_dev_name(adev));
 		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);
+		return -ENXIO;
 	}
 
 	/* override plaform name, if required */
diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
index 808bfb7fd81e..60ed954d7277 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -1396,6 +1396,9 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 			 "i2c-%s", acpi_dev_name(adev));
 		put_device(&adev->dev);
 		byt_rt5640_dais[dai_index].codecs->name = byt_rt5640_codec_name;
+	} else {
+		dev_err(&pdev->dev, "Error cannot find '%s' dev\n", mach->id);
+		return -ENXIO;
 	}
 
 	/*
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
index 7033c07f8fd6..b4307d1d5527 100644
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -921,7 +921,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
 		byt_rt5651_dais[dai_index].codecs->name = byt_rt5651_codec_name;
 	} else {
 		dev_err(&pdev->dev, "Error cannot find '%s' dev\n", mach->id);
-		return -ENODEV;
+		return -ENXIO;
 	}
 
 	codec_dev = bus_find_device_by_name(&i2c_bus_type, NULL,
-- 
2.25.1


  parent reply	other threads:[~2021-08-12 22:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-12 22:44 [PATCH v2 0/8] ASoC: Intel: boards: use software node API Pierre-Louis Bossart
2021-08-12 22:44 ` [PATCH v2 1/8] ASoC: Intel: boards: harden codec property handling Pierre-Louis Bossart
2021-08-13 10:22   ` Andy Shevchenko
2021-08-12 22:44 ` Pierre-Louis Bossart [this message]
2021-08-13 10:23   ` [PATCH v2 2/8] ASoC: Intel: boards: handle errors with acpi_dev_get_first_match_dev() Andy Shevchenko
2021-08-12 22:44 ` [PATCH v2 3/8] ASoC: Intel: boards: get codec device with ACPI instead of bus search Pierre-Louis Bossart
2021-08-12 22:44 ` [PATCH v2 4/8] ASoC: Intel: sof_sdw: pass card information to init/exit functions Pierre-Louis Bossart
2021-08-12 22:44 ` [PATCH v2 5/8] ASoC: Intel: sof_sdw_rt711*: keep codec device reference until remove Pierre-Louis Bossart
2021-08-12 22:44 ` [PATCH v2 6/8] ASoC: Intel: use software node API in SoundWire machines Pierre-Louis Bossart
2021-08-12 22:44 ` [PATCH v2 7/8] ASoC: Intel: remove device_properties for Atom boards Pierre-Louis Bossart
2021-08-12 22:44 ` [PATCH v2 8/8] ASoC: Intel: boards: use software node API in " Pierre-Louis Bossart
2021-08-13 10:30 ` [PATCH v2 0/8] ASoC: Intel: boards: use software node API Andy Shevchenko
2021-08-13 13:33   ` Pierre-Louis Bossart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210812224443.170144-3-pierre-louis.bossart@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=broonie@kernel.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.