summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/msm8916-wcd-analog.c
diff options
context:
space:
mode:
authorStephan Gerhold <stephan@gerhold.net>2023-07-18 13:40:17 +0200
committerMark Brown <broonie@kernel.org>2023-07-20 13:50:54 +0100
commit5c0f9652da47061ed3f7815c1dfeb205c545ce54 (patch)
tree9bfab4f86dc0f75cf391cd6f0ec74e8cb375b417 /sound/soc/codecs/msm8916-wcd-analog.c
parent97f29c1a6143762626f4f9bd9fc2f8a2282b9dcd (diff)
downloadlwn-5c0f9652da47061ed3f7815c1dfeb205c545ce54.tar.gz
lwn-5c0f9652da47061ed3f7815c1dfeb205c545ce54.zip
ASoC: codecs: msm8916-wcd-analog: Properly handle probe errors
The probe() function fails with an error for platform_get_irq_byname() but only logs when devm_request_threaded_irq() fails. Make this consistent and fail to probe in that case as well. In practice this should never happen unless something is really wrong. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20230718-pm8916-mclk-v1-5-4b4a58b4240a@gerhold.net Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/msm8916-wcd-analog.c')
-rw-r--r--sound/soc/codecs/msm8916-wcd-analog.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/soc/codecs/msm8916-wcd-analog.c b/sound/soc/codecs/msm8916-wcd-analog.c
index d4456a714c97..9ca381812975 100644
--- a/sound/soc/codecs/msm8916-wcd-analog.c
+++ b/sound/soc/codecs/msm8916-wcd-analog.c
@@ -1216,8 +1216,10 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING |
IRQF_ONESHOT,
"mbhc switch irq", priv);
- if (ret)
+ if (ret) {
dev_err(dev, "cannot request mbhc switch irq\n");
+ return ret;
+ }
if (priv->mbhc_btn_enabled) {
irq = platform_get_irq_byname(pdev, "mbhc_but_press_det");
@@ -1229,8 +1231,10 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
"mbhc btn press irq", priv);
- if (ret)
+ if (ret) {
dev_err(dev, "cannot request mbhc button press irq\n");
+ return ret;
+ }
irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det");
if (irq < 0)
@@ -1241,9 +1245,10 @@ static int pm8916_wcd_analog_spmi_probe(struct platform_device *pdev)
IRQF_TRIGGER_RISING |
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
"mbhc btn release irq", priv);
- if (ret)
+ if (ret) {
dev_err(dev, "cannot request mbhc button release irq\n");
-
+ return ret;
+ }
}
dev_set_drvdata(dev, priv);