* 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
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);
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),
};