fix build breakage

1. Add a missing field and a function
2. Disable the deprecated attribute in Android temporarily to
   allow us to use "pcm_read/write" which are deprecated upstream
3. Remove an unused define and an include in mixer.h
4. Add mixer_ctl_event and copy the snd_ctl_event to mixer_ctl_event
5. Add pcm_ioctl function and mark as deprecated function
diff --git a/src/pcm.c b/src/pcm.c
index 352ddc6..98ca9eb 100644
--- a/src/pcm.c
+++ b/src/pcm.c
@@ -1750,3 +1750,21 @@
 
     return pcm->pcm_delay;
 }
+
+// TODO: Currently in Android, there are some libraries using this function to control the driver.
+//   We should remove this function as soon as possible.
+int pcm_ioctl(struct pcm *pcm, int request, ...)
+{
+    va_list ap;
+    void * arg;
+
+    if (!pcm_is_ready(pcm))
+        return -1;
+
+    va_start(ap, request);
+    arg = va_arg(ap, void *);
+    va_end(ap);
+
+    // FIXME Does not handle plugins
+    return ioctl(pcm->fd, request, arg);
+}