aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2015-05-09 11:08:33 -0400
committerMark Brown <broonie@kernel.org>2015-05-12 13:52:12 -0400
commit79ffbf11b77d4ded9935cdd291a84936b7f003ef (patch)
tree1b8ef590a6f651ec9a9659a867fb6d33e70a0974
parentb787f68c36d49bb1d9236f403813641efa74a031 (diff)
ASoC: sta32x: Use devm_gpiod_get_optional at appropriate place
devm_gpiod_get_optional() is equivalent to devm_gpiod_get(), except that when no GPIO was assigned to the requested function it will return NULL. This is convenient for drivers that need to handle optional GPIOs. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/sta32x.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/sound/soc/codecs/sta32x.c b/sound/soc/codecs/sta32x.c
index 007a0e3bc273..0111baf9a5d4 100644
--- a/sound/soc/codecs/sta32x.c
+++ b/sound/soc/codecs/sta32x.c
@@ -1096,16 +1096,10 @@ static int sta32x_i2c_probe(struct i2c_client *i2c,
1096#endif 1096#endif
1097 1097
1098 /* GPIOs */ 1098 /* GPIOs */
1099 sta32x->gpiod_nreset = devm_gpiod_get(dev, "reset"); 1099 sta32x->gpiod_nreset = devm_gpiod_get_optional(dev, "reset",
1100 if (IS_ERR(sta32x->gpiod_nreset)) { 1100 GPIOD_OUT_LOW);
1101 ret = PTR_ERR(sta32x->gpiod_nreset); 1101 if (IS_ERR(sta32x->gpiod_nreset))
1102 if (ret != -ENOENT && ret != -ENOSYS) 1102 return PTR_ERR(sta32x->gpiod_nreset);
1103 return ret;
1104
1105 sta32x->gpiod_nreset = NULL;
1106 } else {
1107 gpiod_direction_output(sta32x->gpiod_nreset, 0);
1108 }
1109 1103
1110 /* regulators */ 1104 /* regulators */
1111 for (i = 0; i < ARRAY_SIZE(sta32x->supplies); i++) 1105 for (i = 0; i < ARRAY_SIZE(sta32x->supplies); i++)