summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-02-03 07:36:06 -0700
committerSimon Glass <sjg@chromium.org>2020-02-05 19:33:46 -0700
commit3062cd17af35b691582230c382dd125625d3b7ca (patch)
tree2fda0d01ece1da65ea3e0dd0d7790e2129aaa064 /include
parent3ff6fe5fab11a99d4b3ec94a8a4a238d6f96f5ba (diff)
sound: Add a new stop_play() method
At present there is no positive indication that U-Boot has finished sending sound data. This means that it is not possible to power down an audio codec, for example. Add a new method that is called once all sound data has been sent. Add a new method for this, called when the sound_play() call is done. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/sound.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/sound.h b/include/sound.h
index 47de9fa3ed..71bd850652 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -69,6 +69,18 @@ struct sound_ops {
int (*play)(struct udevice *dev, void *data, uint data_size);
/**
+ * stop_play() - Indicate that there is no more data coming
+ *
+ * This is called once play() has finished sending all the data to the
+ * output device. This may be used to tell the hardware to turn off the
+ * codec, for example.
+ *
+ * @dev: Sound device
+ * @return 0 if OK, -ve on error
+ */
+ int (*stop_play)(struct udevice *dev);
+
+ /**
* start_beep() - Start beeping (optional)
*
* This tells the sound hardware to start a beep. It will continue until