diff options
author | Yong Zhi <yong.zhi@intel.com> | 2019-11-04 17:09:59 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-11-05 13:52:41 -0500 |
commit | e44f3d49f900c645af434a3a1dfdbfb79c4a7851 (patch) | |
tree | bb7824d80570da5bf4c74dc92e99905376242b32 | |
parent | eaf072e512d54c95b0977eda06cbca3151ace1e5 (diff) |
ASoC: max98373: replace gpio_request with devm_gpio_request
Use devm_gpio_request() to automatic unroll when fails and avoid
resource leaks at error paths.
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Link: https://lore.kernel.org/r/1572905399-22402-1-git-send-email-yong.zhi@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/max98373.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/codecs/max98373.c b/sound/soc/codecs/max98373.c index eb709d528259..cae1def8902d 100644 --- a/sound/soc/codecs/max98373.c +++ b/sound/soc/codecs/max98373.c | |||
@@ -960,11 +960,11 @@ static int max98373_i2c_probe(struct i2c_client *i2c, | |||
960 | 960 | ||
961 | /* Power on device */ | 961 | /* Power on device */ |
962 | if (gpio_is_valid(max98373->reset_gpio)) { | 962 | if (gpio_is_valid(max98373->reset_gpio)) { |
963 | ret = gpio_request(max98373->reset_gpio, "MAX98373_RESET"); | 963 | ret = devm_gpio_request(&i2c->dev, max98373->reset_gpio, |
964 | "MAX98373_RESET"); | ||
964 | if (ret) { | 965 | if (ret) { |
965 | dev_err(&i2c->dev, "%s: Failed to request gpio %d\n", | 966 | dev_err(&i2c->dev, "%s: Failed to request gpio %d\n", |
966 | __func__, max98373->reset_gpio); | 967 | __func__, max98373->reset_gpio); |
967 | gpio_free(max98373->reset_gpio); | ||
968 | return -EINVAL; | 968 | return -EINVAL; |
969 | } | 969 | } |
970 | gpio_direction_output(max98373->reset_gpio, 0); | 970 | gpio_direction_output(max98373->reset_gpio, 0); |