aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8995.c
diff options
context:
space:
mode:
authorTushar Behera <tushar.behera@linaro.org>2012-11-21 23:08:42 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-11-23 09:35:53 -0500
commitd2d1fe9028a65009ccc035026fc0fba51e80cc55 (patch)
tree51e23c7f0ffdba5c309d57875b12cfe1f999e198 /sound/soc/codecs/wm8995.c
parentd5ff3c8a51a79876b9489bed7c314e4a792370f5 (diff)
ASoC: wm8995: Convert to use devm_regmap_init_{spi,i2c}()
Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8995.c')
-rw-r--r--sound/soc/codecs/wm8995.c26
1 files changed, 3 insertions, 23 deletions
diff --git a/sound/soc/codecs/wm8995.c b/sound/soc/codecs/wm8995.c
index 2eb68c16db31..f1a7cf147af0 100644
--- a/sound/soc/codecs/wm8995.c
+++ b/sound/soc/codecs/wm8995.c
@@ -2267,7 +2267,7 @@ static int __devinit wm8995_spi_probe(struct spi_device *spi)
2267 2267
2268 spi_set_drvdata(spi, wm8995); 2268 spi_set_drvdata(spi, wm8995);
2269 2269
2270 wm8995->regmap = regmap_init_spi(spi, &wm8995_regmap); 2270 wm8995->regmap = devm_regmap_init_spi(spi, &wm8995_regmap);
2271 if (IS_ERR(wm8995->regmap)) { 2271 if (IS_ERR(wm8995->regmap)) {
2272 ret = PTR_ERR(wm8995->regmap); 2272 ret = PTR_ERR(wm8995->regmap);
2273 dev_err(&spi->dev, "Failed to register regmap: %d\n", ret); 2273 dev_err(&spi->dev, "Failed to register regmap: %d\n", ret);
@@ -2277,22 +2277,12 @@ static int __devinit wm8995_spi_probe(struct spi_device *spi)
2277 ret = snd_soc_register_codec(&spi->dev, 2277 ret = snd_soc_register_codec(&spi->dev,
2278 &soc_codec_dev_wm8995, wm8995_dai, 2278 &soc_codec_dev_wm8995, wm8995_dai,
2279 ARRAY_SIZE(wm8995_dai)); 2279 ARRAY_SIZE(wm8995_dai));
2280 if (ret < 0)
2281 goto err_regmap;
2282
2283 return ret;
2284
2285err_regmap:
2286 regmap_exit(wm8995->regmap);
2287
2288 return ret; 2280 return ret;
2289} 2281}
2290 2282
2291static int __devexit wm8995_spi_remove(struct spi_device *spi) 2283static int __devexit wm8995_spi_remove(struct spi_device *spi)
2292{ 2284{
2293 struct wm8995_priv *wm8995 = spi_get_drvdata(spi);
2294 snd_soc_unregister_codec(&spi->dev); 2285 snd_soc_unregister_codec(&spi->dev);
2295 regmap_exit(wm8995->regmap);
2296 return 0; 2286 return 0;
2297} 2287}
2298 2288
@@ -2319,7 +2309,7 @@ static __devinit int wm8995_i2c_probe(struct i2c_client *i2c,
2319 2309
2320 i2c_set_clientdata(i2c, wm8995); 2310 i2c_set_clientdata(i2c, wm8995);
2321 2311
2322 wm8995->regmap = regmap_init_i2c(i2c, &wm8995_regmap); 2312 wm8995->regmap = devm_regmap_init_i2c(i2c, &wm8995_regmap);
2323 if (IS_ERR(wm8995->regmap)) { 2313 if (IS_ERR(wm8995->regmap)) {
2324 ret = PTR_ERR(wm8995->regmap); 2314 ret = PTR_ERR(wm8995->regmap);
2325 dev_err(&i2c->dev, "Failed to register regmap: %d\n", ret); 2315 dev_err(&i2c->dev, "Failed to register regmap: %d\n", ret);
@@ -2329,25 +2319,15 @@ static __devinit int wm8995_i2c_probe(struct i2c_client *i2c,
2329 ret = snd_soc_register_codec(&i2c->dev, 2319 ret = snd_soc_register_codec(&i2c->dev,
2330 &soc_codec_dev_wm8995, wm8995_dai, 2320 &soc_codec_dev_wm8995, wm8995_dai,
2331 ARRAY_SIZE(wm8995_dai)); 2321 ARRAY_SIZE(wm8995_dai));
2332 if (ret < 0) { 2322 if (ret < 0)
2333 dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret); 2323 dev_err(&i2c->dev, "Failed to register CODEC: %d\n", ret);
2334 goto err_regmap;
2335 }
2336
2337 return ret;
2338
2339err_regmap:
2340 regmap_exit(wm8995->regmap);
2341 2324
2342 return ret; 2325 return ret;
2343} 2326}
2344 2327
2345static __devexit int wm8995_i2c_remove(struct i2c_client *client) 2328static __devexit int wm8995_i2c_remove(struct i2c_client *client)
2346{ 2329{
2347 struct wm8995_priv *wm8995 = i2c_get_clientdata(client);
2348
2349 snd_soc_unregister_codec(&client->dev); 2330 snd_soc_unregister_codec(&client->dev);
2350 regmap_exit(wm8995->regmap);
2351 return 0; 2331 return 0;
2352} 2332}
2353 2333