aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-s3c2440/mach-mini2440.c7
-rw-r--r--sound/soc/codecs/sgtl5000.c14
-rw-r--r--sound/soc/codecs/uda134x.c3
-rw-r--r--sound/soc/samsung/s3c24xx_uda134x.c3
-rw-r--r--sound/soc/soc-core.c2
5 files changed, 25 insertions, 4 deletions
diff --git a/arch/arm/mach-s3c2440/mach-mini2440.c b/arch/arm/mach-s3c2440/mach-mini2440.c
index f62bb4c793bd..7c3fb071ddd6 100644
--- a/arch/arm/mach-s3c2440/mach-mini2440.c
+++ b/arch/arm/mach-s3c2440/mach-mini2440.c
@@ -506,6 +506,11 @@ static struct i2c_board_info mini2440_i2c_devs[] __initdata = {
506 }, 506 },
507}; 507};
508 508
509static struct platform_device uda1340_codec = {
510 .name = "uda134x-codec",
511 .id = -1,
512};
513
509static struct platform_device *mini2440_devices[] __initdata = { 514static struct platform_device *mini2440_devices[] __initdata = {
510 &s3c_device_ohci, 515 &s3c_device_ohci,
511 &s3c_device_wdt, 516 &s3c_device_wdt,
@@ -521,7 +526,9 @@ static struct platform_device *mini2440_devices[] __initdata = {
521 &s3c_device_nand, 526 &s3c_device_nand,
522 &s3c_device_sdi, 527 &s3c_device_sdi,
523 &s3c_device_iis, 528 &s3c_device_iis,
529 &uda1340_codec,
524 &mini2440_audio, 530 &mini2440_audio,
531 &samsung_asoc_dma,
525}; 532};
526 533
527static void __init mini2440_map_io(void) 534static void __init mini2440_map_io(void)
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index 1f7217f703ee..ff29380c9ed3 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -772,6 +772,7 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,
772 return 0; 772 return 0;
773} 773}
774 774
775#ifdef CONFIG_REGULATOR
775static int ldo_regulator_is_enabled(struct regulator_dev *dev) 776static int ldo_regulator_is_enabled(struct regulator_dev *dev)
776{ 777{
777 struct ldo_regulator *ldo = rdev_get_drvdata(dev); 778 struct ldo_regulator *ldo = rdev_get_drvdata(dev);
@@ -901,6 +902,19 @@ static int ldo_regulator_remove(struct snd_soc_codec *codec)
901 902
902 return 0; 903 return 0;
903} 904}
905#else
906static int ldo_regulator_register(struct snd_soc_codec *codec,
907 struct regulator_init_data *init_data,
908 int voltage)
909{
910 return -EINVAL;
911}
912
913static int ldo_regulator_remove(struct snd_soc_codec *codec)
914{
915 return 0;
916}
917#endif
904 918
905/* 919/*
906 * set dac bias 920 * set dac bias
diff --git a/sound/soc/codecs/uda134x.c b/sound/soc/codecs/uda134x.c
index e76847a9438b..48ffd406a71d 100644
--- a/sound/soc/codecs/uda134x.c
+++ b/sound/soc/codecs/uda134x.c
@@ -486,7 +486,8 @@ static struct snd_soc_dai_driver uda134x_dai = {
486static int uda134x_soc_probe(struct snd_soc_codec *codec) 486static int uda134x_soc_probe(struct snd_soc_codec *codec)
487{ 487{
488 struct uda134x_priv *uda134x; 488 struct uda134x_priv *uda134x;
489 struct uda134x_platform_data *pd = dev_get_drvdata(codec->card->dev); 489 struct uda134x_platform_data *pd = codec->card->dev->platform_data;
490
490 int ret; 491 int ret;
491 492
492 printk(KERN_INFO "UDA134X SoC Audio Codec\n"); 493 printk(KERN_INFO "UDA134X SoC Audio Codec\n");
diff --git a/sound/soc/samsung/s3c24xx_uda134x.c b/sound/soc/samsung/s3c24xx_uda134x.c
index 3cb700751078..dc9d551f6788 100644
--- a/sound/soc/samsung/s3c24xx_uda134x.c
+++ b/sound/soc/samsung/s3c24xx_uda134x.c
@@ -219,7 +219,7 @@ static struct snd_soc_ops s3c24xx_uda134x_ops = {
219static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = { 219static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
220 .name = "UDA134X", 220 .name = "UDA134X",
221 .stream_name = "UDA134X", 221 .stream_name = "UDA134X",
222 .codec_name = "uda134x-hifi", 222 .codec_name = "uda134x-codec",
223 .codec_dai_name = "uda134x-hifi", 223 .codec_dai_name = "uda134x-hifi",
224 .cpu_dai_name = "s3c24xx-iis", 224 .cpu_dai_name = "s3c24xx-iis",
225 .ops = &s3c24xx_uda134x_ops, 225 .ops = &s3c24xx_uda134x_ops,
@@ -314,6 +314,7 @@ static int s3c24xx_uda134x_probe(struct platform_device *pdev)
314 314
315 platform_set_drvdata(s3c24xx_uda134x_snd_device, 315 platform_set_drvdata(s3c24xx_uda134x_snd_device,
316 &snd_soc_s3c24xx_uda134x); 316 &snd_soc_s3c24xx_uda134x);
317 platform_device_add_data(s3c24xx_uda134x_snd_device, &s3c24xx_uda134x, sizeof(s3c24xx_uda134x));
317 ret = platform_device_add(s3c24xx_uda134x_snd_device); 318 ret = platform_device_add(s3c24xx_uda134x_snd_device);
318 if (ret) { 319 if (ret) {
319 printk(KERN_ERR "S3C24XX_UDA134X SoC Audio: Unable to add\n"); 320 printk(KERN_ERR "S3C24XX_UDA134X SoC Audio: Unable to add\n");
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 17efacdb248a..4dda58926bc5 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -259,8 +259,6 @@ static ssize_t codec_reg_write_file(struct file *file,
259 while (*start == ' ') 259 while (*start == ' ')
260 start++; 260 start++;
261 reg = simple_strtoul(start, &start, 16); 261 reg = simple_strtoul(start, &start, 16);
262 if ((reg >= codec->driver->reg_cache_size) || (reg % step))
263 return -EINVAL;
264 while (*start == ' ') 262 while (*start == ' ')
265 start++; 263 start++;
266 if (strict_strtoul(start, 16, &value)) 264 if (strict_strtoul(start, 16, &value))