diff options
Diffstat (limited to 'sound/soc/codecs/sgtl5000.c')
-rw-r--r-- | sound/soc/codecs/sgtl5000.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c index bbcf921166f..d7bd9183161 100644 --- a/sound/soc/codecs/sgtl5000.c +++ b/sound/soc/codecs/sgtl5000.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/pm.h> | 16 | #include <linux/pm.h> |
17 | #include <linux/i2c.h> | 17 | #include <linux/i2c.h> |
18 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
19 | #include <linux/platform_device.h> | ||
20 | #include <linux/regulator/driver.h> | 19 | #include <linux/regulator/driver.h> |
21 | #include <linux/regulator/machine.h> | 20 | #include <linux/regulator/machine.h> |
22 | #include <linux/regulator/consumer.h> | 21 | #include <linux/regulator/consumer.h> |
@@ -833,7 +832,7 @@ static int ldo_regulator_register(struct snd_soc_codec *codec, | |||
833 | ldo->voltage = voltage; | 832 | ldo->voltage = voltage; |
834 | 833 | ||
835 | ldo->dev = regulator_register(&ldo->desc, codec->dev, | 834 | ldo->dev = regulator_register(&ldo->desc, codec->dev, |
836 | init_data, ldo); | 835 | init_data, ldo, NULL); |
837 | if (IS_ERR(ldo->dev)) { | 836 | if (IS_ERR(ldo->dev)) { |
838 | int ret = PTR_ERR(ldo->dev); | 837 | int ret = PTR_ERR(ldo->dev); |
839 | 838 | ||
@@ -923,7 +922,7 @@ static int sgtl5000_set_bias_level(struct snd_soc_codec *codec, | |||
923 | SNDRV_PCM_FMTBIT_S24_LE |\ | 922 | SNDRV_PCM_FMTBIT_S24_LE |\ |
924 | SNDRV_PCM_FMTBIT_S32_LE) | 923 | SNDRV_PCM_FMTBIT_S32_LE) |
925 | 924 | ||
926 | static struct snd_soc_dai_ops sgtl5000_ops = { | 925 | static const struct snd_soc_dai_ops sgtl5000_ops = { |
927 | .hw_params = sgtl5000_pcm_hw_params, | 926 | .hw_params = sgtl5000_pcm_hw_params, |
928 | .digital_mute = sgtl5000_digital_mute, | 927 | .digital_mute = sgtl5000_digital_mute, |
929 | .set_fmt = sgtl5000_set_dai_fmt, | 928 | .set_fmt = sgtl5000_set_dai_fmt, |
@@ -968,7 +967,7 @@ static int sgtl5000_volatile_register(struct snd_soc_codec *codec, | |||
968 | } | 967 | } |
969 | 968 | ||
970 | #ifdef CONFIG_SUSPEND | 969 | #ifdef CONFIG_SUSPEND |
971 | static int sgtl5000_suspend(struct snd_soc_codec *codec, pm_message_t state) | 970 | static int sgtl5000_suspend(struct snd_soc_codec *codec) |
972 | { | 971 | { |
973 | sgtl5000_set_bias_level(codec, SND_SOC_BIAS_OFF); | 972 | sgtl5000_set_bias_level(codec, SND_SOC_BIAS_OFF); |
974 | 973 | ||
@@ -1077,7 +1076,7 @@ static int sgtl5000_set_power_regs(struct snd_soc_codec *codec) | |||
1077 | /* according to datasheet, maximum voltage of supplies */ | 1076 | /* according to datasheet, maximum voltage of supplies */ |
1078 | if (vdda > 3600 || vddio > 3600 || vddd > 1980) { | 1077 | if (vdda > 3600 || vddio > 3600 || vddd > 1980) { |
1079 | dev_err(codec->dev, | 1078 | dev_err(codec->dev, |
1080 | "exceed max voltage vdda %dmv vddio %dma vddd %dma\n", | 1079 | "exceed max voltage vdda %dmV vddio %dmV vddd %dmV\n", |
1081 | vdda, vddio, vddd); | 1080 | vdda, vddio, vddd); |
1082 | 1081 | ||
1083 | return -EINVAL; | 1082 | return -EINVAL; |
@@ -1402,7 +1401,8 @@ static __devinit int sgtl5000_i2c_probe(struct i2c_client *client, | |||
1402 | struct sgtl5000_priv *sgtl5000; | 1401 | struct sgtl5000_priv *sgtl5000; |
1403 | int ret; | 1402 | int ret; |
1404 | 1403 | ||
1405 | sgtl5000 = kzalloc(sizeof(struct sgtl5000_priv), GFP_KERNEL); | 1404 | sgtl5000 = devm_kzalloc(&client->dev, sizeof(struct sgtl5000_priv), |
1405 | GFP_KERNEL); | ||
1406 | if (!sgtl5000) | 1406 | if (!sgtl5000) |
1407 | return -ENOMEM; | 1407 | return -ENOMEM; |
1408 | 1408 | ||
@@ -1410,22 +1410,13 @@ static __devinit int sgtl5000_i2c_probe(struct i2c_client *client, | |||
1410 | 1410 | ||
1411 | ret = snd_soc_register_codec(&client->dev, | 1411 | ret = snd_soc_register_codec(&client->dev, |
1412 | &sgtl5000_driver, &sgtl5000_dai, 1); | 1412 | &sgtl5000_driver, &sgtl5000_dai, 1); |
1413 | if (ret) { | 1413 | return ret; |
1414 | dev_err(&client->dev, "Failed to register codec: %d\n", ret); | ||
1415 | kfree(sgtl5000); | ||
1416 | return ret; | ||
1417 | } | ||
1418 | |||
1419 | return 0; | ||
1420 | } | 1414 | } |
1421 | 1415 | ||
1422 | static __devexit int sgtl5000_i2c_remove(struct i2c_client *client) | 1416 | static __devexit int sgtl5000_i2c_remove(struct i2c_client *client) |
1423 | { | 1417 | { |
1424 | struct sgtl5000_priv *sgtl5000 = i2c_get_clientdata(client); | ||
1425 | |||
1426 | snd_soc_unregister_codec(&client->dev); | 1418 | snd_soc_unregister_codec(&client->dev); |
1427 | 1419 | ||
1428 | kfree(sgtl5000); | ||
1429 | return 0; | 1420 | return 0; |
1430 | } | 1421 | } |
1431 | 1422 | ||