From 7a576cc155d559a244b48e2a95189dc6b5a3b405 Mon Sep 17 00:00:00 2001
From: Ben Romberger <bromberg@codeaurora.org>
Date: Fri, 24 Mar 2017 12:04:30 -0700
Subject: [PATCH] tinyalsa: Enable compilation with latest TinyALSA

Remove deprecated flag for pcm_read & pcm_write
functions which are still functional. Remove const
definitions which conflict with old definitions.
---
 git/include/tinyalsa/mixer.h | 24 ++++++++++++------------
 git/include/tinyalsa/pcm.h   | 20 +++++---------------
 git/src/mixer.c              | 24 ++++++++++++------------
 git/src/pcm.c                | 12 ++++++------
 4 files changed, 35 insertions(+), 45 deletions(-)

diff --git a/tinyalsa-git/include/tinyalsa/mixer.h b/tinyalsa-git/include/tinyalsa/mixer.h
index faeb957..f35f321 100644
--- a/tinyalsa-git/include/tinyalsa/mixer.h
+++ b/tinyalsa-git/include/tinyalsa/mixer.h
@@ -74,9 +74,9 @@ void mixer_close(struct mixer *mixer);
 
 int mixer_add_new_ctls(struct mixer *mixer);
 
-const char *mixer_get_name(const struct mixer *mixer);
+const char *mixer_get_name(struct mixer *mixer);
 
-unsigned int mixer_get_num_ctls(const struct mixer *mixer);
+unsigned int mixer_get_num_ctls(struct mixer *mixer);
 
 unsigned int mixer_get_num_ctls_by_name(const struct mixer *mixer, const char *name);
 
@@ -96,15 +96,15 @@ int mixer_wait_event(struct mixer *mixer, int timeout);
 
 unsigned int mixer_ctl_get_id(const struct mixer_ctl *ctl);
 
-const char *mixer_ctl_get_name(const struct mixer_ctl *ctl);
+const char *mixer_ctl_get_name(struct mixer_ctl *ctl);
 
-enum mixer_ctl_type mixer_ctl_get_type(const struct mixer_ctl *ctl);
+enum mixer_ctl_type mixer_ctl_get_type(struct mixer_ctl *ctl);
 
-const char *mixer_ctl_get_type_string(const struct mixer_ctl *ctl);
+const char *mixer_ctl_get_type_string(struct mixer_ctl *ctl);
 
-unsigned int mixer_ctl_get_num_values(const struct mixer_ctl *ctl);
+unsigned int mixer_ctl_get_num_values(struct mixer_ctl *ctl);
 
-unsigned int mixer_ctl_get_num_enums(const struct mixer_ctl *ctl);
+unsigned int mixer_ctl_get_num_enums(struct mixer_ctl *ctl);
 
 const char *mixer_ctl_get_enum_string(struct mixer_ctl *ctl, unsigned int enum_id);
 
@@ -117,13 +117,13 @@ void mixer_ctl_update(struct mixer_ctl *ctl);
 int mixer_ctl_is_access_tlv_rw(const struct mixer_ctl *ctl);
 
 /* Set and get mixer controls */
-int mixer_ctl_get_percent(const struct mixer_ctl *ctl, unsigned int id);
+int mixer_ctl_get_percent(struct mixer_ctl *ctl, unsigned int id);
 
 int mixer_ctl_set_percent(struct mixer_ctl *ctl, unsigned int id, int percent);
 
-int mixer_ctl_get_value(const struct mixer_ctl *ctl, unsigned int id);
+int mixer_ctl_get_value(struct mixer_ctl *ctl, unsigned int id);
 
-int mixer_ctl_get_array(const struct mixer_ctl *ctl, void *array, size_t count);
+int mixer_ctl_get_array(struct mixer_ctl *ctl, void *array, size_t count);
 
 int mixer_ctl_set_value(struct mixer_ctl *ctl, unsigned int id, int value);
 
@@ -132,9 +132,9 @@ int mixer_ctl_set_array(struct mixer_ctl *ctl, const void *array, size_t count);
 int mixer_ctl_set_enum_by_string(struct mixer_ctl *ctl, const char *string);
 
 /* Determe range of integer mixer controls */
-int mixer_ctl_get_range_min(const struct mixer_ctl *ctl);
+int mixer_ctl_get_range_min(struct mixer_ctl *ctl);
 
-int mixer_ctl_get_range_max(const struct mixer_ctl *ctl);
+int mixer_ctl_get_range_max(struct mixer_ctl *ctl);
 
 #if defined(__cplusplus)
 }  /* extern "C" */
diff --git a/tinyalsa-git/include/tinyalsa/pcm.h b/tinyalsa-git/include/tinyalsa/pcm.h
index 74a871b..33ea55a 100644
--- a/tinyalsa-git/include/tinyalsa/pcm.h
+++ b/tinyalsa-git/include/tinyalsa/pcm.h
@@ -226,18 +226,18 @@ struct pcm_params *pcm_params_get(unsigned int card, unsigned int device,
 
 void pcm_params_free(struct pcm_params *pcm_params);
 
-const struct pcm_mask *pcm_params_get_mask(const struct pcm_params *pcm_params, enum pcm_param param);
+struct pcm_mask *pcm_params_get_mask(struct pcm_params *pcm_params, enum pcm_param param);
 
-unsigned int pcm_params_get_min(const struct pcm_params *pcm_params, enum pcm_param param);
+unsigned int pcm_params_get_min(struct pcm_params *pcm_params, enum pcm_param param);
 
-unsigned int pcm_params_get_max(const struct pcm_params *pcm_params, enum pcm_param param);
+unsigned int pcm_params_get_max(struct pcm_params *pcm_params, enum pcm_param param);
 
 struct pcm;
 
 struct pcm *pcm_open(unsigned int card,
                      unsigned int device,
                      unsigned int flags,
-                     const struct pcm_config *config);
+                     struct pcm_config *config);
 
 struct pcm *pcm_open_by_name(const char *name,
                              unsigned int flags,
@@ -245,7 +245,7 @@ struct pcm *pcm_open_by_name(const char *name,
 
 int pcm_close(struct pcm *pcm);
 	
-int pcm_is_ready(const struct pcm *pcm);
+int pcm_is_ready(struct pcm *pcm);
 
 unsigned int pcm_get_channels(const struct pcm *pcm);
 
@@ -273,20 +273,10 @@ int pcm_writei(struct pcm *pcm, const void *data, unsigned int frame_count);
 
 int pcm_readi(struct pcm *pcm, void *data, unsigned int frame_count);
 
-#ifdef __GNUC__
-
-int pcm_write(struct pcm *pcm, const void *data, unsigned int count) __attribute((deprecated));
-
-int pcm_read(struct pcm *pcm, void *data, unsigned int count) __attribute((deprecated));
-
-#else
-
 int pcm_write(struct pcm *pcm, const void *data, unsigned int count);
 
 int pcm_read(struct pcm *pcm, void *data, unsigned int count);
 
-#endif
-
 int pcm_mmap_write(struct pcm *pcm, const void *data, unsigned int count);
 
 int pcm_mmap_read(struct pcm *pcm, void *data, unsigned int count);
diff --git a/tinyalsa-git/src/mixer.c b/tinyalsa-git/src/mixer.c
index d07797a..0e48c6f 100644
--- a/tinyalsa-git/src/mixer.c
+++ b/tinyalsa-git/src/mixer.c
@@ -261,7 +261,7 @@ int mixer_add_new_ctls(struct mixer *mixer)
  * @returns The name of the mixer's card.
  * @ingroup libtinyalsa-mixer
  */
-const char *mixer_get_name(const struct mixer *mixer)
+const char *mixer_get_name(struct mixer *mixer)
 {
     return (const char *)mixer->card_info.name;
 }
@@ -271,7 +271,7 @@ const char *mixer_get_name(const struct mixer *mixer)
  * @returns The number of mixer controls for the given mixer.
  * @ingroup libtinyalsa-mixer
  */
-unsigned int mixer_get_num_ctls(const struct mixer *mixer)
+unsigned int mixer_get_num_ctls(struct mixer *mixer)
 {
     if (!mixer)
         return 0;
@@ -460,7 +460,7 @@ unsigned int mixer_ctl_get_id(const struct mixer_ctl *ctl)
  *  On error, NULL.
  * @ingroup libtinyalsa-mixer
  */
-const char *mixer_ctl_get_name(const struct mixer_ctl *ctl)
+const char *mixer_ctl_get_name(struct mixer_ctl *ctl)
 {
     if (!ctl)
         return NULL;
@@ -474,7 +474,7 @@ const char *mixer_ctl_get_name(const struct mixer_ctl *ctl)
  *  On failure, it returns @ref MIXER_CTL_TYPE_UNKNOWN
  * @ingroup libtinyalsa-mixer
  */
-enum mixer_ctl_type mixer_ctl_get_type(const struct mixer_ctl *ctl)
+enum mixer_ctl_type mixer_ctl_get_type(struct mixer_ctl *ctl)
 {
     if (!ctl)
         return MIXER_CTL_TYPE_UNKNOWN;
@@ -495,7 +495,7 @@ enum mixer_ctl_type mixer_ctl_get_type(const struct mixer_ctl *ctl)
  * @returns On success, a string describing type of mixer control.
  * @ingroup libtinyalsa-mixer
  */
-const char *mixer_ctl_get_type_string(const struct mixer_ctl *ctl)
+const char *mixer_ctl_get_type_string(struct mixer_ctl *ctl)
 {
     if (!ctl)
         return "";
@@ -516,7 +516,7 @@ const char *mixer_ctl_get_type_string(const struct mixer_ctl *ctl)
  * @returns The number of values in the mixer control
  * @ingroup libtinyalsa-mixer
  */
-unsigned int mixer_ctl_get_num_values(const struct mixer_ctl *ctl)
+unsigned int mixer_ctl_get_num_values(struct mixer_ctl *ctl)
 {
     if (!ctl)
         return 0;
@@ -552,7 +552,7 @@ static int int_to_percent(const struct snd_ctl_elem_info *ei, int value)
  *  On failure, -EINVAL is returned.
  * @ingroup libtinyalsa-mixer
  */
-int mixer_ctl_get_percent(const struct mixer_ctl *ctl, unsigned int id)
+int mixer_ctl_get_percent(struct mixer_ctl *ctl, unsigned int id)
 {
     if (!ctl || (ctl->info.type != SNDRV_CTL_ELEM_TYPE_INTEGER))
         return -EINVAL;
@@ -583,7 +583,7 @@ int mixer_ctl_set_percent(struct mixer_ctl *ctl, unsigned int id, int percent)
  *  On failure, -EINVAL is returned.
  * @ingroup libtinyalsa-mixer
  */
-int mixer_ctl_get_value(const struct mixer_ctl *ctl, unsigned int id)
+int mixer_ctl_get_value(struct mixer_ctl *ctl, unsigned int id)
 {
     struct snd_ctl_elem_value ev;
     int ret;
@@ -629,7 +629,7 @@ int mixer_ctl_get_value(const struct mixer_ctl *ctl, unsigned int id)
  *  On failure, non-zero.
  * @ingroup libtinyalsa-mixer
  */
-int mixer_ctl_get_array(const struct mixer_ctl *ctl, void *array, size_t count)
+int mixer_ctl_get_array(struct mixer_ctl *ctl, void *array, size_t count)
 {
     struct snd_ctl_elem_value ev;
     int ret = 0;
@@ -838,7 +838,7 @@ int mixer_ctl_set_array(struct mixer_ctl *ctl, const void *array, size_t count)
  *  On failure, -EINVAL.
  * @ingroup libtinyalsa-mixer
  */
-int mixer_ctl_get_range_min(const struct mixer_ctl *ctl)
+int mixer_ctl_get_range_min(struct mixer_ctl *ctl)
 {
     if (!ctl || (ctl->info.type != SNDRV_CTL_ELEM_TYPE_INTEGER))
         return -EINVAL;
@@ -854,7 +854,7 @@ int mixer_ctl_get_range_min(const struct mixer_ctl *ctl)
  *  On failure, -EINVAL.
  * @ingroup libtinyalsa-mixer
  */
-int mixer_ctl_get_range_max(const struct mixer_ctl *ctl)
+int mixer_ctl_get_range_max(struct mixer_ctl *ctl)
 {
     if (!ctl || (ctl->info.type != SNDRV_CTL_ELEM_TYPE_INTEGER))
         return -EINVAL;
@@ -867,7 +867,7 @@ int mixer_ctl_get_range_max(const struct mixer_ctl *ctl)
  * @returns The number of enumerated items in the control.
  * @ingroup libtinyalsa-mixer
  */
-unsigned int mixer_ctl_get_num_enums(const struct mixer_ctl *ctl)
+unsigned int mixer_ctl_get_num_enums(struct mixer_ctl *ctl)
 {
     if (!ctl)
         return 0;
diff --git a/tinyalsa-git/src/pcm.c b/tinyalsa-git/src/pcm.c
index 1051a3b..3fdad53 100644
--- a/tinyalsa-git/src/pcm.c
+++ b/tinyalsa-git/src/pcm.c
@@ -772,7 +772,7 @@ static int pcm_param_to_alsa(enum pcm_param param)
  *  Otherwise, the mask associated with @p param is returned.
  * @ingroup libtinyalsa-pcm
  */
-const struct pcm_mask *pcm_params_get_mask(const struct pcm_params *pcm_params,
+struct pcm_mask *pcm_params_get_mask(struct pcm_params *pcm_params,
                                      enum pcm_param param)
 {
     int p;
@@ -786,7 +786,7 @@ const struct pcm_mask *pcm_params_get_mask(const struct pcm_params *pcm_params,
         return NULL;
     }
 
-    return (const struct pcm_mask *)param_to_mask(params, p);
+    return (struct pcm_mask *)param_to_mask(params, p);
 }
 
 /** Get the minimum of a specified PCM parameter.
@@ -795,7 +795,7 @@ const struct pcm_mask *pcm_params_get_mask(const struct pcm_params *pcm_params,
  * @returns On success, the parameter minimum.
  *  On failure, zero.
  */
-unsigned int pcm_params_get_min(const struct pcm_params *pcm_params,
+unsigned int pcm_params_get_min(struct pcm_params *pcm_params,
                                 enum pcm_param param)
 {
     struct snd_pcm_hw_params *params = (struct snd_pcm_hw_params *)pcm_params;
@@ -817,7 +817,7 @@ unsigned int pcm_params_get_min(const struct pcm_params *pcm_params,
  * @returns On success, the parameter maximum.
  *  On failure, zero.
  */
-unsigned int pcm_params_get_max(const struct pcm_params *pcm_params,
+unsigned int pcm_params_get_max(struct pcm_params *pcm_params,
                                 enum pcm_param param)
 {
     const struct snd_pcm_hw_params *params = (const struct snd_pcm_hw_params *)pcm_params;
@@ -913,7 +913,7 @@ struct pcm *pcm_open_by_name(const char *name,
  * @ingroup libtinyalsa-pcm
  */
 struct pcm *pcm_open(unsigned int card, unsigned int device,
-                     unsigned int flags, const struct pcm_config *config)
+                     unsigned int flags, struct pcm_config *config)
 {
     struct pcm *pcm;
     struct snd_pcm_info info;
@@ -1086,7 +1086,7 @@ fail_close:
  *  Otherwise, the function returns one.
  * @ingroup libtinyalsa-pcm
  */
-int pcm_is_ready(const struct pcm *pcm)
+int pcm_is_ready(struct pcm *pcm)
 {
     if (pcm != NULL) {
         return pcm->fd >= 0;
-- 
1.9.1

