ASoC: cs42l73: Convert to devm_regmap_init_i2c()
authorBrian Austin <brian.austin@cirrus.com>
Mon, 4 Jun 2012 18:19:41 +0000 (13:19 -0500)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 5 Jun 2012 10:03:35 +0000 (11:03 +0100)
Signed-off-by: Brian Austin <brian.austin@cirrus.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/cs42l73.c

index e0d45fd..2c08c4c 100644 (file)
@@ -1362,11 +1362,11 @@ static __devinit int cs42l73_i2c_probe(struct i2c_client *i2c_client,
 
        i2c_set_clientdata(i2c_client, cs42l73);
 
-       cs42l73->regmap = regmap_init_i2c(i2c_client, &cs42l73_regmap);
+       cs42l73->regmap = devm_regmap_init_i2c(i2c_client, &cs42l73_regmap);
        if (IS_ERR(cs42l73->regmap)) {
                ret = PTR_ERR(cs42l73->regmap);
                dev_err(&i2c_client->dev, "regmap_init() failed: %d\n", ret);
-               goto err;
+               return ret;
        }
        /* initialize codec */
        ret = regmap_read(cs42l73->regmap, CS42L73_DEVID_AB, &reg);
@@ -1384,13 +1384,13 @@ static __devinit int cs42l73_i2c_probe(struct i2c_client *i2c_client,
                dev_err(&i2c_client->dev,
                        "CS42L73 Device ID (%X). Expected %X\n",
                        devid, CS42L73_DEVID);
-               goto err_regmap;
+               return ret;
        }
 
        ret = regmap_read(cs42l73->regmap, CS42L73_REVID, &reg);
        if (ret < 0) {
                dev_err(&i2c_client->dev, "Get Revision ID failed\n");
-               goto err_regmap;
+               return ret;;
        }
 
        dev_info(&i2c_client->dev,
@@ -1402,23 +1402,13 @@ static __devinit int cs42l73_i2c_probe(struct i2c_client *i2c_client,
                        &soc_codec_dev_cs42l73, cs42l73_dai,
                        ARRAY_SIZE(cs42l73_dai));
        if (ret < 0)
-               goto err_regmap;
+               return ret;
        return 0;
-
-err_regmap:
-       regmap_exit(cs42l73->regmap);
-
-err:
-       return ret;
 }
 
 static __devexit int cs42l73_i2c_remove(struct i2c_client *client)
 {
-       struct cs42l73_private *cs42l73 = i2c_get_clientdata(client);
-
        snd_soc_unregister_codec(&client->dev);
-       regmap_exit(cs42l73->regmap);
-
        return 0;
 }