Merge branch 'topic/asoc' into for-linus
authorTakashi Iwai <tiwai@suse.de>
Wed, 23 Mar 2011 11:05:01 +0000 (12:05 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 23 Mar 2011 11:05:01 +0000 (12:05 +0100)
arch/arm/mach-s3c2440/mach-mini2440.c
sound/soc/codecs/sgtl5000.c
sound/soc/codecs/uda134x.c
sound/soc/samsung/s3c24xx_uda134x.c
sound/soc/soc-core.c

index f62bb4c..7c3fb07 100644 (file)
@@ -506,6 +506,11 @@ static struct i2c_board_info mini2440_i2c_devs[] __initdata = {
        },
 };
 
+static struct platform_device uda1340_codec = {
+               .name = "uda134x-codec",
+               .id = -1,
+};
+
 static struct platform_device *mini2440_devices[] __initdata = {
        &s3c_device_ohci,
        &s3c_device_wdt,
@@ -521,7 +526,9 @@ static struct platform_device *mini2440_devices[] __initdata = {
        &s3c_device_nand,
        &s3c_device_sdi,
        &s3c_device_iis,
+       &uda1340_codec,
        &mini2440_audio,
+       &samsung_asoc_dma,
 };
 
 static void __init mini2440_map_io(void)
index 1f7217f..ff29380 100644 (file)
@@ -772,6 +772,7 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,
        return 0;
 }
 
+#ifdef CONFIG_REGULATOR
 static int ldo_regulator_is_enabled(struct regulator_dev *dev)
 {
        struct ldo_regulator *ldo = rdev_get_drvdata(dev);
@@ -901,6 +902,19 @@ static int ldo_regulator_remove(struct snd_soc_codec *codec)
 
        return 0;
 }
+#else
+static int ldo_regulator_register(struct snd_soc_codec *codec,
+                               struct regulator_init_data *init_data,
+                               int voltage)
+{
+       return -EINVAL;
+}
+
+static int ldo_regulator_remove(struct snd_soc_codec *codec)
+{
+       return 0;
+}
+#endif
 
 /*
  * set dac bias
index e76847a..48ffd40 100644 (file)
@@ -486,7 +486,8 @@ static struct snd_soc_dai_driver uda134x_dai = {
 static int uda134x_soc_probe(struct snd_soc_codec *codec)
 {
        struct uda134x_priv *uda134x;
-       struct uda134x_platform_data *pd = dev_get_drvdata(codec->card->dev);
+       struct uda134x_platform_data *pd = codec->card->dev->platform_data;
+
        int ret;
 
        printk(KERN_INFO "UDA134X SoC Audio Codec\n");
index 3cb7007..dc9d551 100644 (file)
@@ -219,7 +219,7 @@ static struct snd_soc_ops s3c24xx_uda134x_ops = {
 static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
        .name = "UDA134X",
        .stream_name = "UDA134X",
-       .codec_name = "uda134x-hifi",
+       .codec_name = "uda134x-codec",
        .codec_dai_name = "uda134x-hifi",
        .cpu_dai_name = "s3c24xx-iis",
        .ops = &s3c24xx_uda134x_ops,
@@ -314,6 +314,7 @@ static int s3c24xx_uda134x_probe(struct platform_device *pdev)
 
        platform_set_drvdata(s3c24xx_uda134x_snd_device,
                             &snd_soc_s3c24xx_uda134x);
+       platform_device_add_data(s3c24xx_uda134x_snd_device, &s3c24xx_uda134x, sizeof(s3c24xx_uda134x));
        ret = platform_device_add(s3c24xx_uda134x_snd_device);
        if (ret) {
                printk(KERN_ERR "S3C24XX_UDA134X SoC Audio: Unable to add\n");
index 17efacd..4dda589 100644 (file)
@@ -259,8 +259,6 @@ static ssize_t codec_reg_write_file(struct file *file,
        while (*start == ' ')
                start++;
        reg = simple_strtoul(start, &start, 16);
-       if ((reg >= codec->driver->reg_cache_size) || (reg % step))
-               return -EINVAL;
        while (*start == ' ')
                start++;
        if (strict_strtoul(start, 16, &value))