summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-03-19 13:48:10 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-03-19 13:48:10 +0100
commita655b96c2404245ee1c309a4b199b92812b09651 (patch)
treedc888c5008373e9a36ba161e1573e6d2796a867d /include/sound
parentASoC: change bf5xx-ad1938 machine driver to bf5xx-ad193x machine driver (diff)
parentALSA: Add support for key reporting via the jack interface (diff)
downloadlinux-a655b96c2404245ee1c309a4b199b92812b09651.tar.xz
linux-a655b96c2404245ee1c309a4b199b92812b09651.zip
Merge branch 'topic/jack' into for-2.6.35
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/jack.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/sound/jack.h b/include/sound/jack.h
index f236e426a706..d90b9fa32707 100644
--- a/include/sound/jack.h
+++ b/include/sound/jack.h
@@ -42,6 +42,11 @@ enum snd_jack_types {
SND_JACK_MECHANICAL = 0x0008, /* If detected separately */
SND_JACK_VIDEOOUT = 0x0010,
SND_JACK_AVOUT = SND_JACK_LINEOUT | SND_JACK_VIDEOOUT,
+
+ /* Kept separate from switches to facilitate implementation */
+ SND_JACK_BTN_0 = 0x4000,
+ SND_JACK_BTN_1 = 0x2000,
+ SND_JACK_BTN_2 = 0x1000,
};
struct snd_jack {
@@ -50,6 +55,7 @@ struct snd_jack {
int type;
const char *id;
char name[100];
+ unsigned int key[3]; /* Keep in sync with definitions above */
void *private_data;
void (*private_free)(struct snd_jack *);
};
@@ -59,6 +65,8 @@ struct snd_jack {
int snd_jack_new(struct snd_card *card, const char *id, int type,
struct snd_jack **jack);
void snd_jack_set_parent(struct snd_jack *jack, struct device *parent);
+int snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type,
+ int keytype);
void snd_jack_report(struct snd_jack *jack, int status);