aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-02-26 12:29:03 +0100
committerTakashi Iwai <tiwai@suse.de>2015-03-23 13:19:41 +0100
commit5e56bcea5017b7b7808df60f21ef01738b6e1a25 (patch)
treebf841e780837f867d8e842928440537e1eb465cc /include/sound
parentALSA: hda - Use regmap for parameter caches, too (diff)
downloadlinux-dev-5e56bcea5017b7b7808df60f21ef01738b6e1a25.tar.xz
linux-dev-5e56bcea5017b7b7808df60f21ef01738b6e1a25.zip
ALSA: hda - Allow driver to add vendor-specific verbs for regmap
Codecs may have own vendor-specific verbs, and we need to allow each driver to give such verbs for cached accesses. Here a verb can be put into a single array and looked through it at readable and writeable callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/hda_regmap.h3
-rw-r--r--include/sound/hdaudio.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/include/sound/hda_regmap.h b/include/sound/hda_regmap.h
index 95651d26437d..a6a4f3ddb469 100644
--- a/include/sound/hda_regmap.h
+++ b/include/sound/hda_regmap.h
@@ -11,7 +11,8 @@
int snd_hdac_regmap_init(struct hdac_device *codec);
void snd_hdac_regmap_exit(struct hdac_device *codec);
-
+int snd_hdac_regmap_add_vendor_verb(struct hdac_device *codec,
+ unsigned int verb);
int snd_hdac_regmap_read_raw(struct hdac_device *codec, unsigned int reg,
unsigned int *val);
int snd_hdac_regmap_write_raw(struct hdac_device *codec, unsigned int reg,
diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
index ce7d8d1f59c6..702032598bea 100644
--- a/include/sound/hdaudio.h
+++ b/include/sound/hdaudio.h
@@ -75,6 +75,7 @@ struct hdac_device {
/* regmap */
struct regmap *regmap;
+ struct snd_array vendor_verbs;
bool lazy_cache:1; /* don't wake up for writes */
bool caps_overwriting:1; /* caps overwrite being in process */
};