cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

soc-card.h (2180B)


      1/* SPDX-License-Identifier: GPL-2.0
      2 *
      3 * soc-card.h
      4 *
      5 * Copyright (C) 2019 Renesas Electronics Corp.
      6 * Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      7 */
      8#ifndef __SOC_CARD_H
      9#define __SOC_CARD_H
     10
     11enum snd_soc_card_subclass {
     12	SND_SOC_CARD_CLASS_INIT		= 0,
     13	SND_SOC_CARD_CLASS_RUNTIME	= 1,
     14};
     15
     16struct snd_kcontrol *snd_soc_card_get_kcontrol(struct snd_soc_card *soc_card,
     17					       const char *name);
     18int snd_soc_card_jack_new(struct snd_soc_card *card, const char *id, int type,
     19			  struct snd_soc_jack *jack);
     20int snd_soc_card_jack_new_pins(struct snd_soc_card *card, const char *id,
     21			       int type, struct snd_soc_jack *jack,
     22			       struct snd_soc_jack_pin *pins,
     23			       unsigned int num_pins);
     24
     25int snd_soc_card_suspend_pre(struct snd_soc_card *card);
     26int snd_soc_card_suspend_post(struct snd_soc_card *card);
     27int snd_soc_card_resume_pre(struct snd_soc_card *card);
     28int snd_soc_card_resume_post(struct snd_soc_card *card);
     29
     30int snd_soc_card_probe(struct snd_soc_card *card);
     31int snd_soc_card_late_probe(struct snd_soc_card *card);
     32int snd_soc_card_remove(struct snd_soc_card *card);
     33
     34int snd_soc_card_set_bias_level(struct snd_soc_card *card,
     35				struct snd_soc_dapm_context *dapm,
     36				enum snd_soc_bias_level level);
     37int snd_soc_card_set_bias_level_post(struct snd_soc_card *card,
     38				     struct snd_soc_dapm_context *dapm,
     39				     enum snd_soc_bias_level level);
     40
     41int snd_soc_card_add_dai_link(struct snd_soc_card *card,
     42			      struct snd_soc_dai_link *dai_link);
     43void snd_soc_card_remove_dai_link(struct snd_soc_card *card,
     44				  struct snd_soc_dai_link *dai_link);
     45
     46/* device driver data */
     47static inline void snd_soc_card_set_drvdata(struct snd_soc_card *card,
     48					    void *data)
     49{
     50	card->drvdata = data;
     51}
     52
     53static inline void *snd_soc_card_get_drvdata(struct snd_soc_card *card)
     54{
     55	return card->drvdata;
     56}
     57
     58static inline
     59struct snd_soc_dai *snd_soc_card_get_codec_dai(struct snd_soc_card *card,
     60					       const char *dai_name)
     61{
     62	struct snd_soc_pcm_runtime *rtd;
     63
     64	for_each_card_rtds(card, rtd) {
     65		if (!strcmp(asoc_rtd_to_codec(rtd, 0)->name, dai_name))
     66			return asoc_rtd_to_codec(rtd, 0);
     67	}
     68
     69	return NULL;
     70}
     71
     72#endif /* __SOC_CARD_H */