mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 09:41:03 +02:00
ASoC: sdw_utils: tidyup functions
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> says: I will post DAI/Component/Card capsuling patch, but current code makes old style / new style conversion difficult. To make future conversions easier to understand, this patch clean up the code a little. but no functional change. Link: https://patch.msgid.link/87ldc1etyp.wl-kuninori.morimoto.gx@renesas.com
This commit is contained in:
commit
ec34e1acaf
|
|
@ -44,6 +44,18 @@
|
|||
|
||||
struct asoc_sdw_codec_info;
|
||||
|
||||
struct asoc_sdw_mc_private {
|
||||
struct snd_soc_card card;
|
||||
struct snd_soc_jack sdw_headset;
|
||||
struct device *headset_codec_dev; /* only one headset per card */
|
||||
struct device *amp_dev1, *amp_dev2;
|
||||
bool append_dai_type;
|
||||
bool ignore_internal_dmic;
|
||||
void *private;
|
||||
unsigned long mc_quirk;
|
||||
int codec_info_list_count;
|
||||
};
|
||||
|
||||
struct asoc_sdw_dai_info {
|
||||
const bool direction[2]; /* playback & capture support */
|
||||
const char *codec_name;
|
||||
|
|
@ -88,25 +100,13 @@ struct asoc_sdw_codec_info {
|
|||
|
||||
int (*codec_card_late_probe)(struct snd_soc_card *card);
|
||||
|
||||
int (*count_sidecar)(struct snd_soc_card *card,
|
||||
int (*count_sidecar)(struct asoc_sdw_mc_private *ctx,
|
||||
int *num_dais, int *num_devs);
|
||||
int (*add_sidecar)(struct snd_soc_card *card,
|
||||
struct snd_soc_dai_link **dai_links,
|
||||
struct snd_soc_codec_conf **codec_conf);
|
||||
};
|
||||
|
||||
struct asoc_sdw_mc_private {
|
||||
struct snd_soc_card card;
|
||||
struct snd_soc_jack sdw_headset;
|
||||
struct device *headset_codec_dev; /* only one headset per card */
|
||||
struct device *amp_dev1, *amp_dev2;
|
||||
bool append_dai_type;
|
||||
bool ignore_internal_dmic;
|
||||
void *private;
|
||||
unsigned long mc_quirk;
|
||||
int codec_info_list_count;
|
||||
};
|
||||
|
||||
struct asoc_sdw_endpoint {
|
||||
struct list_head list;
|
||||
|
||||
|
|
@ -182,7 +182,8 @@ struct asoc_sdw_dailink *asoc_sdw_find_dailink(struct asoc_sdw_dailink *dailinks
|
|||
const struct snd_soc_acpi_endpoint *new);
|
||||
int asoc_sdw_get_dai_type(u32 type);
|
||||
|
||||
int asoc_sdw_parse_sdw_endpoints(struct snd_soc_card *card,
|
||||
int asoc_sdw_parse_sdw_endpoints(struct device *dev,
|
||||
struct asoc_sdw_mc_private *ctx,
|
||||
struct snd_soc_aux_dev *soc_aux,
|
||||
struct asoc_sdw_dailink *soc_dais,
|
||||
struct asoc_sdw_endpoint *soc_ends,
|
||||
|
|
@ -235,7 +236,7 @@ int asoc_sdw_es9356_amp_init(struct snd_soc_card *card,
|
|||
int asoc_sdw_es9356_exit(struct snd_soc_card *card, struct snd_soc_dai_link *dai_link);
|
||||
|
||||
/* CS AMP support */
|
||||
int asoc_sdw_bridge_cs35l56_count_sidecar(struct snd_soc_card *card,
|
||||
int asoc_sdw_bridge_cs35l56_count_sidecar(struct asoc_sdw_mc_private *ctx,
|
||||
int *num_dais, int *num_devs);
|
||||
int asoc_sdw_bridge_cs35l56_add_sidecar(struct snd_soc_card *card,
|
||||
struct snd_soc_dai_link **dai_links,
|
||||
|
|
|
|||
|
|
@ -432,7 +432,7 @@ static int soc_card_dai_links_create(struct snd_soc_card *card)
|
|||
if (!soc_aux)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = asoc_sdw_parse_sdw_endpoints(card, soc_aux, soc_dais, soc_ends, &num_confs);
|
||||
ret = asoc_sdw_parse_sdw_endpoints(dev, ctx, soc_aux, soc_dais, soc_ends, &num_confs);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
|
|
|||
|
|
@ -303,7 +303,7 @@ static int sof_card_dai_links_create(struct snd_soc_card *card)
|
|||
if (!sof_aux)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = asoc_sdw_parse_sdw_endpoints(card, sof_aux, sof_dais, sof_ends, &num_devs);
|
||||
ret = asoc_sdw_parse_sdw_endpoints(dev, ctx, sof_aux, sof_dais, sof_ends, &num_devs);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
|
|
|
|||
|
|
@ -1285,7 +1285,7 @@ static int sof_card_dai_links_create(struct snd_soc_card *card)
|
|||
goto err_dai;
|
||||
}
|
||||
|
||||
ret = asoc_sdw_parse_sdw_endpoints(card, sof_aux, sof_dais, sof_ends, &num_confs);
|
||||
ret = asoc_sdw_parse_sdw_endpoints(dev, ctx, sof_aux, sof_dais, sof_ends, &num_confs);
|
||||
if (ret < 0)
|
||||
goto err_end;
|
||||
|
||||
|
|
|
|||
|
|
@ -99,11 +99,9 @@ static const struct snd_soc_dai_link bridge_dai_template = {
|
|||
SND_SOC_DAILINK_REG(asoc_sdw_bridge_dai),
|
||||
};
|
||||
|
||||
int asoc_sdw_bridge_cs35l56_count_sidecar(struct snd_soc_card *card,
|
||||
int asoc_sdw_bridge_cs35l56_count_sidecar(struct asoc_sdw_mc_private *ctx,
|
||||
int *num_dais, int *num_devs)
|
||||
{
|
||||
struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
|
||||
|
||||
if (ctx->mc_quirk & SOC_SDW_SIDECAR_AMPS) {
|
||||
(*num_dais)++;
|
||||
(*num_devs) += ARRAY_SIZE(bridge_cs35l56_name_prefixes);
|
||||
|
|
|
|||
|
|
@ -1976,14 +1976,13 @@ static int is_sdca_endpoint_present(struct device *dev,
|
|||
return ret;
|
||||
}
|
||||
|
||||
int asoc_sdw_parse_sdw_endpoints(struct snd_soc_card *card,
|
||||
int asoc_sdw_parse_sdw_endpoints(struct device *dev,
|
||||
struct asoc_sdw_mc_private *ctx,
|
||||
struct snd_soc_aux_dev *soc_aux,
|
||||
struct asoc_sdw_dailink *soc_dais,
|
||||
struct asoc_sdw_endpoint *soc_ends,
|
||||
int *num_devs)
|
||||
{
|
||||
struct device *dev = card->dev;
|
||||
struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
|
||||
struct snd_soc_acpi_mach *mach = dev_get_platdata(dev);
|
||||
struct snd_soc_acpi_mach_params *mach_params = &mach->mach_params;
|
||||
const struct snd_soc_acpi_link_adr *adr_link;
|
||||
|
|
@ -2045,7 +2044,7 @@ int asoc_sdw_parse_sdw_endpoints(struct snd_soc_card *card,
|
|||
ctx->ignore_internal_dmic |= codec_info->ignore_internal_dmic;
|
||||
|
||||
if (codec_info->count_sidecar && codec_info->add_sidecar) {
|
||||
ret = codec_info->count_sidecar(card, &num_dais, num_devs);
|
||||
ret = codec_info->count_sidecar(ctx, &num_dais, num_devs);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user