Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
[safe/jmp/linux-2.6] / include / sound / jack.h
index f236e42..d90b9fa 100644 (file)
@@ -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);