diff options
author | Tushar Behera <tushar.behera@linaro.org> | 2012-11-21 23:08:42 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-11-23 09:35:53 -0500 |
commit | d2d1fe9028a65009ccc035026fc0fba51e80cc55 (patch) | |
tree | 51e23c7f0ffdba5c309d57875b12cfe1f999e198 /sound/soc/codecs/wm8995.c | |
parent | d5ff3c8a51a79876b9489bed7c314e4a792370f5 (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.c | 26 |
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 | |||
2285 | err_regmap: | ||
2286 | regmap_exit(wm8995->regmap); | ||
2287 | |||
2288 | return ret; | 2280 | return ret; |
2289 | } | 2281 | } |
2290 | 2282 | ||
2291 | static int __devexit wm8995_spi_remove(struct spi_device *spi) | 2283 | static 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 | |||
2339 | err_regmap: | ||
2340 | regmap_exit(wm8995->regmap); | ||
2341 | 2324 | ||
2342 | return ret; | 2325 | return ret; |
2343 | } | 2326 | } |
2344 | 2327 | ||
2345 | static __devexit int wm8995_i2c_remove(struct i2c_client *client) | 2328 | static __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 | ||