arch: m68k: Use existing CONFIG_MCFTMR instead of CFG_MCFTMR
[platform/kernel/u-boot.git] / drivers / sound / sound-uclass.c
index c213472..2ffc4fc 100644 (file)
@@ -4,10 +4,15 @@
  * Written by Simon Glass <sjg@chromium.org>
  */
 
+#define LOG_CATEGORY UCLASS_SOUND
+
 #include <common.h>
 #include <dm.h>
 #include <i2s.h>
+#include <log.h>
+#include <malloc.h>
 #include <sound.h>
+#include <linux/delay.h>
 
 #define SOUND_BITS_IN_BYTE 8
 
@@ -97,11 +102,14 @@ int sound_beep(struct udevice *dev, int msecs, int frequency_hz)
        sound_create_square_wave(i2s_uc_priv->samplingrate, data, data_size,
                                 frequency_hz, i2s_uc_priv->channels);
 
+       ret = 0;
        while (msecs >= 1000) {
                ret = sound_play(dev, data, data_size);
+               if (ret)
+                       break;
                msecs -= 1000;
        }
-       if (msecs) {
+       if (!ret && msecs) {
                unsigned long size =
                        (data_size * msecs) / (sizeof(int) * 1000);
 
@@ -166,5 +174,5 @@ int sound_find_codec_i2s(struct udevice *dev)
 UCLASS_DRIVER(sound) = {
        .id             = UCLASS_SOUND,
        .name           = "sound",
-       .per_device_auto_alloc_size     = sizeof(struct sound_uc_priv),
+       .per_device_auto        = sizeof(struct sound_uc_priv),
 };