dm: sound: Complete migration to driver model
authorSimon Glass <sjg@chromium.org>
Mon, 10 Dec 2018 17:37:47 +0000 (10:37 -0700)
committerSimon Glass <sjg@chromium.org>
Thu, 13 Dec 2018 23:36:41 +0000 (16:36 -0700)
All users of sound are converted to use driver model. Drop the old code
and the CONFIG_DM_SOUND option.

Signed-off-by: Simon Glass <sjg@chromium.org>
18 files changed:
arch/sandbox/cpu/sdl.c
arch/sandbox/include/asm/sdl.h
arch/sandbox/include/asm/sound.h [deleted file]
cmd/sound.c
configs/arndale_defconfig
configs/peach-pi_defconfig
configs/peach-pit_defconfig
configs/smdk5250_defconfig
configs/snow_defconfig
configs/spring_defconfig
drivers/sound/Kconfig
drivers/sound/Makefile
drivers/sound/max98095.c
drivers/sound/sandbox.c
drivers/sound/sound-i2s.c [deleted file]
drivers/sound/wm8994.c
include/sound.h
test/dm/Makefile

index 32fa1fffc9b78b72ca59a6effcb4d2dc085a73c3..47b706513e4c298c00f11250de1655842beb29eb 100644 (file)
@@ -7,7 +7,6 @@
 #include <unistd.h>
 #include <linux/input.h>
 #include <SDL/SDL.h>
-#include <sound.h>
 #include <asm/state.h>
 
 enum {
index 0143ed9e621cce64aca411e790816573301fb69a..2799a8bee0690ba1e0ceb4d6b6bbcd61216e1e90 100644 (file)
@@ -54,12 +54,12 @@ int sandbox_sdl_scan_keys(int key[], int max_keys);
 int sandbox_sdl_key_pressed(int keycode);
 
 /**
- * sandbox_sdl_sound_start() - start playing a sound
+ * sandbox_sdl_sound_play() - Play a sound
  *
- * @frequency: Frequency of sounds in Hertz
- * @return 0 if OK, -ENODEV if no sound is available
+ * @data:      Data to play (typically 16-bit)
+ * @count:     Number of bytes in data
  */
-int sandbox_sdl_sound_start(uint frequency);
+int sandbox_sdl_sound_play(const void *data, uint count);
 
 /**
  * sandbox_sdl_sound_stop() - stop playing a sound
@@ -68,14 +68,6 @@ int sandbox_sdl_sound_start(uint frequency);
  */
 int sandbox_sdl_sound_stop(void);
 
-/**
- * sandbox_sdl_sound_play() - Play a sound
- *
- * @data:      Data to play (typically 16-bit)
- * @count:     Number of bytes in data
- */
-int sandbox_sdl_sound_play(const void *data, uint count);
-
 /**
  * sandbox_sdl_sound_init() - set up the sound system
  *
@@ -110,6 +102,11 @@ static inline int sandbox_sdl_sound_start(uint frequency)
        return -ENODEV;
 }
 
+int sandbox_sdl_sound_play(const void *data, uint count)
+{
+       return -ENODEV;
+}
+
 static inline int sandbox_sdl_sound_stop(void)
 {
        return -ENODEV;
diff --git a/arch/sandbox/include/asm/sound.h b/arch/sandbox/include/asm/sound.h
deleted file mode 100644 (file)
index a6015b0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * Copyright (c) 2013 Google, Inc
- */
-
-#ifndef __SANDBOX_SOUND_H
-#define __SANDBOX_SOUND_H
-
-int sound_play(unsigned int msec, unsigned int frequency);
-
-int sound_init(const void *blob);
-
-#endif
index 77f51529259e4646c42a1bce0c1a3867de7f6d74..638f29df21dd5f7a814cb1c940d956764e24d900 100644 (file)
@@ -15,18 +15,12 @@ DECLARE_GLOBAL_DATA_PTR;
 /* Initilaise sound subsystem */
 static int do_init(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
-#ifdef CONFIG_DM_SOUND
        struct udevice *dev;
-#endif
        int ret;
 
-#ifdef CONFIG_DM_SOUND
        ret = uclass_first_device_err(UCLASS_SOUND, &dev);
        if (!ret)
                ret = sound_setup(dev);
-#else
-       ret = sound_init(gd->fdt_blob);
-#endif
        if (ret) {
                printf("Initialise Audio driver failed (ret=%d)\n", ret);
                return CMD_RET_FAILURE;
@@ -38,9 +32,7 @@ static int do_init(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 /* play sound from buffer */
 static int do_play(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 {
-#ifdef CONFIG_DM_SOUND
        struct udevice *dev;
-#endif
        int ret = 0;
        int msec = 1000;
        int freq = 400;
@@ -50,13 +42,9 @@ static int do_play(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
        if (argc > 2)
                freq = simple_strtoul(argv[2], NULL, 10);
 
-#ifdef CONFIG_DM_SOUND
        ret = uclass_first_device_err(UCLASS_SOUND, &dev);
        if (!ret)
                ret = sound_beep(dev, msec, freq);
-#else
-       ret = sound_play(msec, freq);
-#endif
        if (ret) {
                printf("Sound device failed to play (err=%d)\n", ret);
                return CMD_RET_FAILURE;
index 22881c3a2c679084bc1d99c842248b8079c879d3..2b6af4b2215d18032e9dda6d1204cf5815a4176e 100644 (file)
@@ -31,7 +31,6 @@ CONFIG_MMC_SDHCI_S5P=y
 CONFIG_SMC911X=y
 CONFIG_SMC911X_BASE=0x5000000
 CONFIG_SOUND=y
-CONFIG_DM_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
index 32b32dd901c3e38499bd8366b73eb30c0cbc4b5a..14c835cad81e31ffd6fd5a928c722cca88fb2291 100644 (file)
@@ -50,7 +50,6 @@ CONFIG_REGULATOR_TPS65090=y
 CONFIG_DM_PWM=y
 CONFIG_PWM_EXYNOS=y
 CONFIG_SOUND=y
-CONFIG_DM_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98090=y
index 7018737ab4f23c3ce774e663971439f2e74a9027..9a3a11504dedae654c747d86283d5898e53ef7e9 100644 (file)
@@ -49,7 +49,6 @@ CONFIG_REGULATOR_TPS65090=y
 CONFIG_DM_PWM=y
 CONFIG_PWM_EXYNOS=y
 CONFIG_SOUND=y
-CONFIG_DM_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98090=y
index 1e058227e41f04eabdd0475671c36f139ffe79f3..21018d8b1b16c6fbebb578f976086e8438b7cbb8 100644 (file)
@@ -43,7 +43,6 @@ CONFIG_DM_PMIC_MAX77686=y
 CONFIG_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_MAX77686=y
 CONFIG_SOUND=y
-CONFIG_DM_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
index 10e11fbb337bedc2a1d97038a3713382c1bfd2f1..e0c1bf862c0e0416d0bb60229e4125d6655c59dc 100644 (file)
@@ -60,7 +60,6 @@ CONFIG_DM_PWM=y
 CONFIG_PWM_EXYNOS=y
 CONFIG_DEBUG_UART_S5P=y
 CONFIG_SOUND=y
-CONFIG_DM_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
index 844a87734b82c7e285c71e35bf094cd862a54cbb..c089517692e1b6e4a2ef032dd125aefeba572d24 100644 (file)
@@ -60,7 +60,6 @@ CONFIG_DM_PWM=y
 CONFIG_PWM_EXYNOS=y
 CONFIG_DEBUG_UART_S5P=y
 CONFIG_SOUND=y
-CONFIG_DM_SOUND=y
 CONFIG_I2S=y
 CONFIG_I2S_SAMSUNG=y
 CONFIG_SOUND_MAX98095=y
index 18d7ca1dcb3dd935df69ae289bfd84eebf9b945d..c0d97cca338f6fbb414b9d08938ff3ea42a512d3 100644 (file)
@@ -12,12 +12,6 @@ config SOUND
          audio codecs are called from the sound-i2s code. This could be
          converted to driver model.
 
-config DM_SOUND
-       bool "Use driver model for sound"
-       help
-         Enable this option to use driver model for sound devices. This is a
-         migration option and will be removed.
-
 config I2S
        bool "Enable I2S support"
        depends on SOUND
index 937df152fe6ac84240f34c6f135be0e6236012d3..1de4346ec7a01c55ca7f0e0edd9e9d375089493c 100644 (file)
@@ -4,16 +4,12 @@
 # R. Chandrasekar <rcsekar@samsung.com>
 
 obj-$(CONFIG_SOUND)    += sound.o
-obj-$(CONFIG_DM_SOUND) += codec-uclass.o
-obj-$(CONFIG_DM_SOUND) += i2s-uclass.o
-obj-$(CONFIG_DM_SOUND) += sound-uclass.o
+obj-$(CONFIG_SOUND)    += codec-uclass.o
+obj-$(CONFIG_SOUND)    += i2s-uclass.o
+obj-$(CONFIG_SOUND)    += sound-uclass.o
 obj-$(CONFIG_I2S_SAMSUNG)      += samsung-i2s.o
 obj-$(CONFIG_SOUND_SANDBOX)    += sandbox.o
-ifdef CONFIG_DM_SOUND
 obj-$(CONFIG_I2S_SAMSUNG)      += samsung_sound.o
-else
-obj-$(CONFIG_I2S)      += sound-i2s.o
-endif
 obj-$(CONFIG_SOUND_WM8994)     += wm8994.o
 obj-$(CONFIG_SOUND_MAX98090)   += max98090.o maxim_codec.o
 obj-$(CONFIG_SOUND_MAX98095)   += max98095.o maxim_codec.o
index e9bf64f82f833c4b06a212dbb8fc0556ddfcd76f..93be50c34a2a7ec95ec3508a348deea7c563a6fe 100644 (file)
@@ -432,84 +432,6 @@ static int max98095_do_init(struct maxim_priv *priv,
        return ret;
 }
 
-#ifndef CONFIG_DM_SOUND
-static int get_max98095_codec_values(struct sound_codec_info *pcodec_info,
-                               const void *blob)
-{
-       int error = 0;
-       enum fdt_compat_id compat;
-       int node;
-       int parent;
-
-       /* Get the node from FDT for codec */
-       node = fdtdec_next_compatible(blob, 0, COMPAT_MAXIM_98095_CODEC);
-       if (node <= 0) {
-               debug("EXYNOS_SOUND: No node for codec in device tree\n");
-               debug("node = %d\n", node);
-               return -1;
-       }
-
-       parent = fdt_parent_offset(blob, node);
-       if (parent < 0) {
-               debug("%s: Cannot find node parent\n", __func__);
-               return -1;
-       }
-
-       compat = fdtdec_lookup(blob, parent);
-       switch (compat) {
-       case COMPAT_SAMSUNG_S3C2440_I2C:
-               pcodec_info->i2c_bus = i2c_get_bus_num_fdt(parent);
-               error |= pcodec_info->i2c_bus;
-               debug("i2c bus = %d\n", pcodec_info->i2c_bus);
-               pcodec_info->i2c_dev_addr = fdtdec_get_int(blob, node,
-                                                       "reg", 0);
-               error |= pcodec_info->i2c_dev_addr;
-               debug("i2c dev addr = %x\n", pcodec_info->i2c_dev_addr);
-               break;
-       default:
-               debug("%s: Unknown compat id %d\n", __func__, compat);
-               return -1;
-       }
-       if (error == -1) {
-               debug("fail to get max98095 codec node properties\n");
-               return -1;
-       }
-
-       return 0;
-}
-
-/* max98095 Device Initialisation */
-int max98095_init(const void *blob, enum en_max_audio_interface aif_id,
-                 int sampling_rate, int mclk_freq,
-                 int bits_per_sample)
-{
-       int ret;
-       int old_bus = i2c_get_bus_num();
-       struct sound_codec_info pcodec_info;
-       struct max98095_priv max98095_info;
-
-       if (get_max98095_codec_values(&pcodec_info, blob) < 0) {
-               debug("FDT Codec values failed\n");
-               return -1;
-       }
-
-       i2c_set_bus_num(pcodec_info.i2c_bus);
-
-       max98095_info.i2c_addr = pcodec_info.i2c_dev_addr;
-       ret = max98095_device_init(&max98095_info);
-       if (ret < 0) {
-               debug("%s: max98095 codec chip init failed\n", __func__);
-               return ret;
-       }
-
-       ret = max98095_do_init(&max98095_info, aif_id, sampling_rate, mclk_freq,
-                              bits_per_sample);
-       i2c_set_bus_num(old_bus);
-
-       return ret;
-}
-#endif
-
 static int max98095_set_params(struct udevice *dev, int interface, int rate,
                               int mclk_freq, int bits_per_sample,
                               uint channels)
index 83b3295f0d4fbf3199c0b8b4bb7c8fe43f87f099..089d830972731cfeb0555e3a74da4beda6eae24f 100644 (file)
@@ -8,7 +8,6 @@
 #include <dm.h>
 #include <i2s.h>
 #include <sound.h>
-#include <asm/sound.h>
 #include <asm/sdl.h>
 
 struct sandbox_codec_priv {
@@ -28,22 +27,6 @@ struct sandbox_sound_priv {
        int sum;        /* Use to sum the provided audio data */
 };
 
-#ifndef CONFIG_DM_SOUND
-int sound_play(uint32_t msec, uint32_t frequency)
-{
-       sandbox_sdl_sound_start(frequency);
-       mdelay(msec);
-       sandbox_sdl_sound_stop();
-
-       return 0;
-}
-#endif /* CONFIG_DM_SOUND */
-
-int sound_init(const void *blob)
-{
-       return sandbox_sdl_sound_init();
-}
-
 void sandbox_get_codec_params(struct udevice *dev, int *interfacep, int *ratep,
                              int *mclk_freqp, int *bits_per_samplep,
                              uint *channelsp)
@@ -102,7 +85,7 @@ static int sandbox_i2s_tx_data(struct udevice *dev, void *data,
        for (i = 0; i < data_size; i++)
                priv->sum += ((uint8_t *)data)[i];
 
-       return 0;
+       return sandbox_sdl_sound_play(data, data_size);
 }
 
 static int sandbox_i2s_probe(struct udevice *dev)
diff --git a/drivers/sound/sound-i2s.c b/drivers/sound/sound-i2s.c
deleted file mode 100644 (file)
index a2fc781..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (C) 2012 Samsung Electronics
- * R. Chandrasekar <rcsekar@samsung.com>
- */
-
-#include <malloc.h>
-#include <common.h>
-#include <asm/io.h>
-#include <linux/libfdt.h>
-#include <fdtdec.h>
-#include <i2c.h>
-#include <i2s.h>
-#include <sound.h>
-#include <asm/arch/sound.h>
-#include "wm8994.h"
-#include "max98095.h"
-
-/* defines */
-#define SOUND_400_HZ 400
-#define SOUND_BITS_IN_BYTE 8
-
-static struct i2s_uc_priv g_i2stx_pri;
-
-/*
- * get_sound_i2s_values gets values for i2s parameters
- *
- * @param i2s_uc_priv  i2s transmitter transfer param structure
- * @param blob         FDT blob if enabled else NULL
- */
-static int get_sound_i2s_values(struct i2s_uc_priv *i2s, const void *blob)
-{
-       int node;
-       int error = 0;
-       int base;
-
-       node = fdt_path_offset(blob, "i2s");
-       if (node <= 0) {
-               debug("EXYNOS_SOUND: No node for sound in device tree\n");
-               return -1;
-       }
-
-       /*
-        * Get the pre-defined sound specific values from FDT.
-        * All of these are expected to be correct otherwise
-        * wrong register values in i2s setup parameters
-        * may result in no sound play.
-        */
-       base = fdtdec_get_addr(blob, node, "reg");
-       if (base == FDT_ADDR_T_NONE) {
-               debug("%s: Missing  i2s base\n", __func__);
-               return -1;
-       }
-       i2s->base_address = base;
-
-       i2s->audio_pll_clk = fdtdec_get_int(blob,
-                               node, "samsung,i2s-epll-clock-frequency", -1);
-       error |= i2s->audio_pll_clk;
-       debug("audio_pll_clk = %d\n", i2s->audio_pll_clk);
-       i2s->samplingrate = fdtdec_get_int(blob,
-                               node, "samsung,i2s-sampling-rate", -1);
-       error |= i2s->samplingrate;
-       debug("samplingrate = %d\n", i2s->samplingrate);
-       i2s->bitspersample = fdtdec_get_int(blob,
-                               node, "samsung,i2s-bits-per-sample", -1);
-       error |= i2s->bitspersample;
-       debug("bitspersample = %d\n", i2s->bitspersample);
-       i2s->channels = fdtdec_get_int(blob,
-                       node, "samsung,i2s-channels", -1);
-       error |= i2s->channels;
-       debug("channels = %d\n", i2s->channels);
-       i2s->rfs = fdtdec_get_int(blob,
-                               node, "samsung,i2s-lr-clk-framesize", -1);
-       error |= i2s->rfs;
-       debug("rfs = %d\n", i2s->rfs);
-       i2s->bfs = fdtdec_get_int(blob,
-                               node, "samsung,i2s-bit-clk-framesize", -1);
-       error |= i2s->bfs;
-       debug("bfs = %d\n", i2s->bfs);
-
-       i2s->id = fdtdec_get_int(blob, node, "samsung,i2s-id", -1);
-       error |= i2s->id;
-       debug("id = %d\n", i2s->id);
-
-       if (error == -1) {
-               debug("fail to get sound i2s node properties\n");
-               return -1;
-       }
-
-       return 0;
-}
-
-/*
- * Init codec
- *
- * @param blob          FDT blob
- * @param pi2s_tx      i2s parameters required by codec
- * @return              int value, 0 for success
- */
-static int codec_init(const void *blob, struct i2s_uc_priv *pi2s_tx)
-{
-       int ret;
-       const char *codectype;
-       int node;
-
-       /* Get the node from FDT for sound */
-       node = fdt_path_offset(blob, "i2s");
-       if (node <= 0) {
-               debug("EXYNOS_SOUND: No node for sound in device tree\n");
-               debug("node = %d\n", node);
-               return -1;
-       }
-
-       /*
-        * Get the pre-defined sound codec specific values from FDT.
-        * All of these are expected to be correct otherwise sound
-        * can not be played
-        */
-       codectype = fdt_getprop(blob, node, "samsung,codec-type", NULL);
-       debug("device = %s\n", codectype);
-       if (!strcmp(codectype, "wm8994")) {
-               /* Check the codec type and initialise the same */
-               ret = wm8994_init(blob, pi2s_tx->id, pi2s_tx->samplingrate,
-                                 (pi2s_tx->samplingrate * (pi2s_tx->rfs)),
-                                 pi2s_tx->bitspersample, pi2s_tx->channels);
-       } else if (!strcmp(codectype, "max98095")) {
-               ret = max98095_init(blob, pi2s_tx->id, pi2s_tx->samplingrate,
-                                   (pi2s_tx->samplingrate * (pi2s_tx->rfs)),
-                                   pi2s_tx->bitspersample);
-       } else {
-               debug("%s: Unknown codec type %s\n", __func__, codectype);
-               return -1;
-       }
-
-       if (ret) {
-               debug("%s: Codec init failed\n", __func__);
-               return -1;
-       }
-
-       return 0;
-}
-
-int sound_init(const void *blob)
-{
-       int ret;
-       struct i2s_uc_priv *pi2s_tx = &g_i2stx_pri;
-
-       /* Get the I2S Values */
-       if (get_sound_i2s_values(pi2s_tx, blob) < 0) {
-               debug(" FDT I2S values failed\n");
-               return -1;
-       }
-
-       if (codec_init(blob, pi2s_tx) < 0) {
-               debug(" Codec init failed\n");
-               return -1;
-       }
-
-       ret = i2s_tx_init(pi2s_tx);
-       if (ret) {
-               debug("%s: Failed to init i2c transmit: ret=%d\n", __func__,
-                     ret);
-               return ret;
-       }
-
-
-       return ret;
-}
-
-int sound_play(uint32_t msec, uint32_t frequency)
-{
-       unsigned int *data;
-       unsigned long data_size;
-       unsigned int ret = 0;
-
-       /*Buffer length computation */
-       data_size = g_i2stx_pri.samplingrate * g_i2stx_pri.channels;
-       data_size *= (g_i2stx_pri.bitspersample / SOUND_BITS_IN_BYTE);
-       data = malloc(data_size);
-
-       if (data == NULL) {
-               debug("%s: malloc failed\n", __func__);
-               return -1;
-       }
-
-       sound_create_square_wave(g_i2stx_pri.samplingrate,
-                                (unsigned short *)data,
-                                data_size / sizeof(unsigned short),
-                                frequency);
-
-       while (msec >= 1000) {
-               ret = i2s_transfer_tx_data(&g_i2stx_pri, data,
-                                          (data_size / sizeof(int)));
-               msec -= 1000;
-       }
-       if (msec) {
-               unsigned long size =
-                       (data_size * msec) / (sizeof(int) * 1000);
-
-               ret = i2s_transfer_tx_data(&g_i2stx_pri, data, size);
-       }
-
-       free(data);
-
-       return ret;
-}
index d731a0dd863c6201a27da2ef944b13eb06a33751..b290c4e8791c262165aacc56d95689122271a615 100644 (file)
@@ -40,7 +40,6 @@ struct wm8994_priv {
        int mclk[WM8994_MAX_AIF];       /* master clock frequency in Hz */
        int aifclk[WM8994_MAX_AIF];     /* audio interface clock in Hz   */
        struct wm8994_fll_config fll[2]; /* fll config to configure fll */
-       int i2c_addr;
        struct udevice *dev;
 };
 
@@ -82,12 +81,7 @@ static int wm8994_i2c_write(struct wm8994_priv *priv, unsigned int reg,
        val[1] = (unsigned char)(data & 0xff);
        debug("Write Addr : 0x%04X, Data :  0x%04X\n", reg, data);
 
-#ifdef CONFIG_DM_SOUND
-       debug("dev = %s\n", priv->dev->name);
        return dm_i2c_write(priv->dev, reg, val, 2);
-#else
-       return i2c_write(priv->i2c_addr, reg, 2, val, 2);
-#endif
 }
 
 /*
@@ -105,11 +99,7 @@ static unsigned int wm8994_i2c_read(struct wm8994_priv *priv, unsigned int reg,
        unsigned char val[2];
        int ret;
 
-#ifdef CONFIG_DM_SOUND
        ret = dm_i2c_read(priv->dev, reg, val, 1);
-#else
-       ret = i2c_read(priv->i2c_addr, reg, 2, val, 2);
-#endif
        if (ret != 0) {
                debug("%s: Error while reading register %#04x\n",
                      __func__, reg);
@@ -819,61 +809,6 @@ err:
        return -1;
 }
 
-#ifndef CONFIG_DM_SOUND
-/*
- * Gets fdt values for wm8994 config parameters
- *
- * @param pcodec_info  codec information structure
- * @param blob         FDT blob
- * @return             int value, 0 for success
- */
-static int get_codec_values(struct sound_codec_info *pcodec_info,
-                           const void *blob)
-{
-       int error = 0;
-       enum fdt_compat_id compat;
-       int node;
-       int parent;
-
-       /* Get the node from FDT for codec */
-       node = fdtdec_next_compatible(blob, 0, COMPAT_WOLFSON_WM8994_CODEC);
-       if (node <= 0) {
-               debug("EXYNOS_SOUND: No node for codec in device tree\n");
-               debug("node = %d\n", node);
-               return -1;
-       }
-
-       parent = fdt_parent_offset(blob, node);
-       if (parent < 0) {
-               debug("%s: Cannot find node parent\n", __func__);
-               return -1;
-       }
-
-       compat = fdtdec_lookup(blob, parent);
-       switch (compat) {
-       case COMPAT_SAMSUNG_S3C2440_I2C:
-               pcodec_info->i2c_bus = i2c_get_bus_num_fdt(parent);
-               error |= pcodec_info->i2c_bus;
-               debug("i2c bus = %d\n", pcodec_info->i2c_bus);
-               pcodec_info->i2c_dev_addr = fdtdec_get_int(blob, node,
-                                                       "reg", 0);
-               error |= pcodec_info->i2c_dev_addr;
-               debug("i2c dev addr = %d\n", pcodec_info->i2c_dev_addr);
-               break;
-       default:
-               debug("%s: Unknown compat id %d\n", __func__, compat);
-               return -1;
-       }
-
-       if (error == -1) {
-               debug("fail to get wm8994 codec node properties\n");
-               return -1;
-       }
-
-       return 0;
-}
-#endif
-
 static int _wm8994_init(struct wm8994_priv *priv,
                        enum en_audio_interface aif_id, int sampling_rate,
                        int mclk_freq, int bits_per_sample,
@@ -905,36 +840,6 @@ static int _wm8994_init(struct wm8994_priv *priv,
        return ret;
 }
 
-#ifndef CONFIG_DM_SOUND
-/* WM8994 Device Initialisation */
-int wm8994_init(const void *blob, enum en_audio_interface aif_id,
-               int sampling_rate, int mclk_freq, int bits_per_sample,
-               unsigned int channels)
-{
-       struct sound_codec_info pcodec_info;
-       struct wm8994_priv wm8994_info;
-       int ret;
-
-       /* Get the codec Values */
-       if (get_codec_values(&pcodec_info, blob) < 0) {
-               debug("FDT Codec values failed\n");
-               return -1;
-       }
-
-       /* shift the device address by 1 for 7 bit addressing */
-       wm8994_info.i2c_addr = pcodec_info.i2c_dev_addr;
-       i2c_set_bus_num(pcodec_info.i2c_bus);
-       ret = wm8994_device_init(&wm8994_info);
-       if (ret < 0) {
-               debug("%s: wm8994 codec chip init failed\n", __func__);
-               return ret;
-       }
-
-       return _wm8994_init(&wm8994_info, aif_id, sampling_rate, mclk_freq,
-                           bits_per_sample, channels);
-}
-#endif
-
 static int wm8994_set_params(struct udevice *dev, int interface, int rate,
                             int mclk_freq, int bits_per_sample, uint channels)
 {
index c94d2c372657e4fd3fe7b4f6776df8a815ba0866..02acefd34f0946c82e20faa47c994a40bc9a3630 100644 (file)
@@ -45,14 +45,6 @@ struct sound_uc_priv {
 void sound_create_square_wave(uint sample_rate, unsigned short *data, int size,
                              uint freq);
 
-/*
- * Initialises audio sub system
- * @param blob Pointer of device tree node or NULL if none.
- * @return     int value 0 for success, -1 for error
- */
-int sound_init(const void *blob);
-
-#ifdef CONFIG_DM_SOUND
 /*
  * The sound uclass brings together a data transport (currently only I2C) and a
  * codec (currently connected over I2C).
@@ -101,14 +93,4 @@ int sound_beep(struct udevice *dev, int msecs, int frequency_hz);
  */
 int sound_find_codec_i2s(struct udevice *dev);
 
-#else
-/*
- * plays the pcm data buffer in pcm_data.h through i2s1 to make the
- * sine wave sound
- *
- * @return     int 0 for success, -1 for error
- */
-int sound_play(uint32_t msec, uint32_t frequency);
-#endif /* CONFIG_DM_SOUND */
-
 #endif  /* __SOUND__H__ */
index 73f5dcf739e708f098f5483294dc4a650e473514..6b451060d8aebcacea8474b93b4c18e943e5da44 100644 (file)
@@ -13,7 +13,7 @@ obj-$(CONFIG_UT_DM) += test-uclass.o
 # subsystem you must add sandbox tests here.
 obj-$(CONFIG_UT_DM) += core.o
 ifneq ($(CONFIG_SANDBOX),)
-obj-$(CONFIG_DM_SOUND) += audio.o
+obj-$(CONFIG_SOUND) += audio.o
 obj-$(CONFIG_BLK) += blk.o
 obj-$(CONFIG_BOARD) += board.o
 obj-$(CONFIG_CLK) += clk.o
@@ -22,7 +22,7 @@ obj-$(CONFIG_FIRMWARE) += firmware.o
 obj-$(CONFIG_DM_GPIO) += gpio.o
 obj-$(CONFIG_DM_HWSPINLOCK) += hwspinlock.o
 obj-$(CONFIG_DM_I2C) += i2c.o
-obj-$(CONFIG_DM_SOUND) += i2s.o
+obj-$(CONFIG_SOUND) += i2s.o
 obj-$(CONFIG_LED) += led.o
 obj-$(CONFIG_DM_MAILBOX) += mailbox.o
 obj-$(CONFIG_DM_MMC) += mmc.o
@@ -55,7 +55,7 @@ obj-$(CONFIG_AXI) += axi.o
 obj-$(CONFIG_MISC) += misc.o
 obj-$(CONFIG_DM_SERIAL) += serial.o
 obj-$(CONFIG_CPU) += cpu.o
-obj-$(CONFIG_DM_SOUND) += sound.o
+obj-$(CONFIG_SOUND) += sound.o
 obj-$(CONFIG_TEE) += tee.o
 obj-$(CONFIG_VIRTIO_SANDBOX) += virtio.o
 obj-$(CONFIG_DMA) += dma.o