ASoC: Constify channel mapping array arguments in set_channel_map()

There is no need for implementations of DAI set_channel_map() to modify
contents of passed arrays with actual channel mapping.  Additionally,
the caller keeps full ownership of the array.

Constify these pointer arguments so the code will be safer and easier to
read (documenting the caller's ownership).

Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://msgid.link/r/20240520-asoc-x1e80100-4-channel-mapping-v4-1-f657159b4aad@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Krzysztof Kozlowski 2024-05-20 16:19:56 +02:00 committed by Mark Brown
parent 1613e604df
commit 965cc040bf
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
11 changed files with 42 additions and 27 deletions

View File

@ -896,8 +896,8 @@ int cs35l41_test_key_lock(struct device *dev, struct regmap *regmap);
int cs35l41_otp_unpack(struct device *dev, struct regmap *regmap); int cs35l41_otp_unpack(struct device *dev, struct regmap *regmap);
int cs35l41_register_errata_patch(struct device *dev, struct regmap *reg, unsigned int reg_revid); int cs35l41_register_errata_patch(struct device *dev, struct regmap *reg, unsigned int reg_revid);
int cs35l41_set_channels(struct device *dev, struct regmap *reg, int cs35l41_set_channels(struct device *dev, struct regmap *reg,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num, const unsigned int *tx_slot,
unsigned int rx_num, unsigned int *rx_slot); unsigned int rx_num, const unsigned int *rx_slot);
int cs35l41_gpio_config(struct regmap *regmap, struct cs35l41_hw_cfg *hw_cfg); int cs35l41_gpio_config(struct regmap *regmap, struct cs35l41_hw_cfg *hw_cfg);
void cs35l41_configure_cs_dsp(struct device *dev, struct regmap *reg, struct cs_dsp *dsp); void cs35l41_configure_cs_dsp(struct device *dev, struct regmap *reg, struct cs_dsp *dsp);
int cs35l41_set_cspl_mbox_cmd(struct device *dev, struct regmap *regmap, int cs35l41_set_cspl_mbox_cmd(struct device *dev, struct regmap *regmap,

View File

@ -188,8 +188,8 @@ int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width); unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width);
int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai, int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num, const unsigned int *tx_slot,
unsigned int rx_num, unsigned int *rx_slot); unsigned int rx_num, const unsigned int *rx_slot);
int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate); int snd_soc_dai_set_tristate(struct snd_soc_dai *dai, int tristate);
@ -305,8 +305,8 @@ struct snd_soc_dai_ops {
unsigned int tx_mask, unsigned int rx_mask, unsigned int tx_mask, unsigned int rx_mask,
int slots, int slot_width); int slots, int slot_width);
int (*set_channel_map)(struct snd_soc_dai *dai, int (*set_channel_map)(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num, const unsigned int *tx_slot,
unsigned int rx_num, unsigned int *rx_slot); unsigned int rx_num, const unsigned int *rx_slot);
int (*get_channel_map)(struct snd_soc_dai *dai, int (*get_channel_map)(struct snd_soc_dai *dai,
unsigned int *tx_num, unsigned int *tx_slot, unsigned int *tx_num, unsigned int *tx_slot,
unsigned int *rx_num, unsigned int *rx_slot); unsigned int *rx_num, unsigned int *rx_slot);

View File

@ -121,8 +121,10 @@ static const struct snd_soc_dapm_widget adau7118_widgets[] = {
}; };
static int adau7118_set_channel_map(struct snd_soc_dai *dai, static int adau7118_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_slot) const unsigned int *tx_slot,
unsigned int rx_num,
const unsigned int *rx_slot)
{ {
struct adau7118_data *st = struct adau7118_data *st =
snd_soc_component_get_drvdata(dai->component); snd_soc_component_get_drvdata(dai->component);

View File

@ -936,8 +936,8 @@ int cs35l41_register_errata_patch(struct device *dev, struct regmap *reg, unsign
EXPORT_SYMBOL_GPL(cs35l41_register_errata_patch); EXPORT_SYMBOL_GPL(cs35l41_register_errata_patch);
int cs35l41_set_channels(struct device *dev, struct regmap *reg, int cs35l41_set_channels(struct device *dev, struct regmap *reg,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num, const unsigned int *tx_slot,
unsigned int rx_num, unsigned int *rx_slot) unsigned int rx_num, const unsigned int *rx_slot)
{ {
unsigned int val, mask; unsigned int val, mask;
int i; int i;

View File

@ -673,7 +673,8 @@ static const struct snd_soc_dapm_route cs35l41_audio_map[] = {
}; };
static int cs35l41_set_channel_map(struct snd_soc_dai *dai, unsigned int tx_n, static int cs35l41_set_channel_map(struct snd_soc_dai *dai, unsigned int tx_n,
unsigned int *tx_slot, unsigned int rx_n, unsigned int *rx_slot) const unsigned int *tx_slot,
unsigned int rx_n, const unsigned int *rx_slot)
{ {
struct cs35l41_private *cs35l41 = snd_soc_component_get_drvdata(dai->component); struct cs35l41_private *cs35l41 = snd_soc_component_get_drvdata(dai->component);

View File

@ -220,8 +220,10 @@ static int max98504_set_tdm_slot(struct snd_soc_dai *dai,
return 0; return 0;
} }
static int max98504_set_channel_map(struct snd_soc_dai *dai, static int max98504_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_slot) const unsigned int *tx_slot,
unsigned int rx_num,
const unsigned int *rx_slot)
{ {
struct max98504_priv *max98504 = snd_soc_dai_get_drvdata(dai); struct max98504_priv *max98504 = snd_soc_dai_get_drvdata(dai);
struct regmap *map = max98504->regmap; struct regmap *map = max98504->regmap;

View File

@ -1983,8 +1983,10 @@ static int wcd9335_trigger(struct snd_pcm_substream *substream, int cmd,
} }
static int wcd9335_set_channel_map(struct snd_soc_dai *dai, static int wcd9335_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_slot) const unsigned int *tx_slot,
unsigned int rx_num,
const unsigned int *rx_slot)
{ {
struct wcd9335_codec *wcd; struct wcd9335_codec *wcd;
int i; int i;

View File

@ -1923,8 +1923,10 @@ static int wcd934x_trigger(struct snd_pcm_substream *substream, int cmd,
} }
static int wcd934x_set_channel_map(struct snd_soc_dai *dai, static int wcd934x_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_slot) const unsigned int *tx_slot,
unsigned int rx_num,
const unsigned int *rx_slot)
{ {
struct wcd934x_codec *wcd; struct wcd934x_codec *wcd;
int i; int i;

View File

@ -172,8 +172,8 @@ static int q6tdm_set_tdm_slot(struct snd_soc_dai *dai,
} }
static int q6tdm_set_channel_map(struct snd_soc_dai *dai, static int q6tdm_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num, const unsigned int *tx_slot,
unsigned int rx_num, unsigned int *rx_slot) unsigned int rx_num, const unsigned int *rx_slot)
{ {
struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev);
@ -250,8 +250,10 @@ static int q6tdm_hw_params(struct snd_pcm_substream *substream,
} }
static int q6dma_set_channel_map(struct snd_soc_dai *dai, static int q6dma_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_ch_mask, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_ch_mask) const unsigned int *tx_ch_mask,
unsigned int rx_num,
const unsigned int *rx_ch_mask)
{ {
struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev);
@ -407,8 +409,10 @@ static int q6afe_dai_prepare(struct snd_pcm_substream *substream,
} }
static int q6slim_set_channel_map(struct snd_soc_dai *dai, static int q6slim_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_slot) const unsigned int *tx_slot,
unsigned int rx_num,
const unsigned int *rx_slot)
{ {
struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev); struct q6afe_dai_data *dai_data = dev_get_drvdata(dai->dev);
struct q6afe_port_config *pcfg = &dai_data->port_config[dai->id]; struct q6afe_port_config *pcfg = &dai_data->port_config[dai->id];

View File

@ -25,8 +25,10 @@ struct q6apm_lpass_dai_data {
}; };
static int q6dma_set_channel_map(struct snd_soc_dai *dai, static int q6dma_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_ch_mask, unsigned int tx_num,
unsigned int rx_num, unsigned int *rx_ch_mask) const unsigned int *tx_ch_mask,
unsigned int rx_num,
const unsigned int *rx_ch_mask)
{ {
struct q6apm_lpass_dai_data *dai_data = dev_get_drvdata(dai->dev); struct q6apm_lpass_dai_data *dai_data = dev_get_drvdata(dai->dev);

View File

@ -304,8 +304,8 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_tdm_slot);
* configure the relationship between channel number and TDM slot number. * configure the relationship between channel number and TDM slot number.
*/ */
int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai, int snd_soc_dai_set_channel_map(struct snd_soc_dai *dai,
unsigned int tx_num, unsigned int *tx_slot, unsigned int tx_num, const unsigned int *tx_slot,
unsigned int rx_num, unsigned int *rx_slot) unsigned int rx_num, const unsigned int *rx_slot)
{ {
int ret = -ENOTSUPP; int ret = -ENOTSUPP;