Re: [PATCH v4 12/32] sound: usb: Export USB SND APIs for modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/24/2023 7:33 PM, Wesley Cheng wrote:
Some vendor modules will utilize useful parsing and endpoint management
APIs to start audio playback/capture.

Signed-off-by: Wesley Cheng <quic_wcheng@xxxxxxxxxxx>
---
  sound/core/oss/pcm_oss.c |  4 ++--
  sound/usb/card.c         |  2 ++
  sound/usb/endpoint.c     |  2 ++
  sound/usb/helper.c       |  1 +
  sound/usb/pcm.c          |  9 ++++++---
  sound/usb/pcm.h          | 12 ++++++++++++
  6 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
index 728c211142d1..7773b5362e1a 100644
--- a/sound/core/oss/pcm_oss.c
+++ b/sound/core/oss/pcm_oss.c
@@ -444,8 +444,8 @@ static int snd_pcm_hw_param_near(struct snd_pcm_substream *pcm,
  }
static int _snd_pcm_hw_param_set(struct snd_pcm_hw_params *params,
-				 snd_pcm_hw_param_t var, unsigned int val,
-				 int dir)
+				snd_pcm_hw_param_t var, unsigned int val,
+				int dir)
  {
  	int changed;
  	if (hw_is_mask(var)) {
diff --git a/sound/usb/card.c b/sound/usb/card.c
index 9365d1e17836..a3fad66a3337 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -1076,6 +1076,7 @@ int snd_usb_autoresume(struct snd_usb_audio *chip)
  	}
  	return 0;
  }
+EXPORT_SYMBOL_GPL(snd_usb_autoresume);
void snd_usb_autosuspend(struct snd_usb_audio *chip)
  {
@@ -1089,6 +1090,7 @@ void snd_usb_autosuspend(struct snd_usb_audio *chip)
  	for (i = 0; i < chip->num_interfaces; i++)
  		usb_autopm_put_interface(chip->intf[i]);
  }
+EXPORT_SYMBOL_GPL(snd_usb_autosuspend);
static int usb_audio_suspend(struct usb_interface *intf, pm_message_t message)
  {
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index a385e85c4650..0757499599c8 100644
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -866,6 +866,7 @@ snd_usb_endpoint_open(struct snd_usb_audio *chip,
  	mutex_unlock(&chip->mutex);
  	return ep;
  }
+EXPORT_SYMBOL_GPL(snd_usb_endpoint_open);
/*
   * snd_usb_endpoint_set_sync: Link data and sync endpoints
@@ -1503,6 +1504,7 @@ int snd_usb_endpoint_prepare(struct snd_usb_audio *chip,
  	mutex_unlock(&chip->mutex);
  	return err;
  }
+EXPORT_SYMBOL_GPL(snd_usb_endpoint_prepare);
/* get the current rate set to the given clock by any endpoint */
  int snd_usb_endpoint_get_clock_rate(struct snd_usb_audio *chip, int clock)
diff --git a/sound/usb/helper.c b/sound/usb/helper.c
index bf80e55d013a..4322ae3738e6 100644
--- a/sound/usb/helper.c
+++ b/sound/usb/helper.c
@@ -62,6 +62,7 @@ void *snd_usb_find_csint_desc(void *buffer, int buflen, void *after, u8 dsubtype
  	}
  	return NULL;
  }
+EXPORT_SYMBOL_GPL(snd_usb_find_csint_desc);
/*
   * Wrapper for usb_control_msg().
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index eec5232f9fb2..b6fb6d84d9eb 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -87,7 +87,7 @@ static snd_pcm_uframes_t snd_usb_pcm_pointer(struct snd_pcm_substream *substream
  /*
   * find a matching audio format
   */
-static const struct audioformat *
+const struct audioformat *
  find_format(struct list_head *fmt_list_head, snd_pcm_format_t format,
  	    unsigned int rate, unsigned int channels, bool strict_match,
  	    struct snd_usb_substream *subs)
@@ -147,8 +147,9 @@ find_format(struct list_head *fmt_list_head, snd_pcm_format_t format,
  	}
  	return found;
  }
+EXPORT_SYMBOL_GPL(find_format);
-static const struct audioformat *
+const struct audioformat *
  find_substream_format(struct snd_usb_substream *subs,
  		      const struct snd_pcm_hw_params *params)
  {
@@ -156,6 +157,7 @@ find_substream_format(struct snd_usb_substream *subs,
  			   params_rate(params), params_channels(params),
  			   true, subs);
  }
+EXPORT_SYMBOL_GPL(find_substream_format);
bool snd_usb_pcm_has_fixed_rate(struct snd_usb_substream *subs)
  {
@@ -446,7 +448,7 @@ int snd_usb_pcm_resume(struct snd_usb_stream *as)
  	return 0;
  }
-static void close_endpoints(struct snd_usb_audio *chip,
+void close_endpoints(struct snd_usb_audio *chip,
  			    struct snd_usb_substream *subs)
  {
  	if (subs->data_endpoint) {
@@ -460,6 +462,7 @@ static void close_endpoints(struct snd_usb_audio *chip,
  		subs->sync_endpoint = NULL;
  	}
  }
+EXPORT_SYMBOL(close_endpoints);

EXPORT_SYMBOL_GPL here as well?

--
---Trilok Soni




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux