]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/sound/control.h
h8300: types: use <asm-generic/int-*.h> for the h8300 architecture
[linux-2.6-omap-h63xx.git] / include / sound / control.h
index 1de148b0fd9472f5fd961c7c109d9f62053d69f9..3dc1291f52db78e8f525801f1b79204180e91dbf 100644 (file)
@@ -3,7 +3,7 @@
 
 /*
  *  Header file for control interface
- *  Copyright (c) by Jaroslav Kysela <perex@suse.cz>
+ *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>
  *
  *
  *   This program is free software; you can redistribute it and/or modify
@@ -49,7 +49,7 @@ struct snd_kcontrol_new {
        snd_kcontrol_put_t *put;
        union {
                snd_kcontrol_tlv_rw_t *c;
-               unsigned int *p;
+               const unsigned int *p;
        } tlv;
        unsigned long private_value;
 };
@@ -69,7 +69,7 @@ struct snd_kcontrol {
        snd_kcontrol_put_t *put;
        union {
                snd_kcontrol_tlv_rw_t *c;
-               unsigned int *p;
+               const unsigned int *p;
        } tlv;
        unsigned long private_value;
        void *private_data;
@@ -108,7 +108,6 @@ typedef int (*snd_kctl_ioctl_func_t) (struct snd_card * card,
 
 void snd_ctl_notify(struct snd_card * card, unsigned int mask, struct snd_ctl_elem_id * id);
 
-struct snd_kcontrol *snd_ctl_new(struct snd_kcontrol * kcontrol, unsigned int access);
 struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new * kcontrolnew, void * private_data);
 void snd_ctl_free_one(struct snd_kcontrol * kcontrol);
 int snd_ctl_add(struct snd_card * card, struct snd_kcontrol * kcontrol);
@@ -162,4 +161,19 @@ static inline struct snd_ctl_elem_id *snd_ctl_build_ioff(struct snd_ctl_elem_id
        return dst_id;
 }
 
+/*
+ * Frequently used control callbacks
+ */
+int snd_ctl_boolean_mono_info(struct snd_kcontrol *kcontrol,
+                             struct snd_ctl_elem_info *uinfo);
+int snd_ctl_boolean_stereo_info(struct snd_kcontrol *kcontrol,
+                               struct snd_ctl_elem_info *uinfo);
+
+/*
+ * virtual master control
+ */
+struct snd_kcontrol *snd_ctl_make_virtual_master(char *name,
+                                                const unsigned int *tlv);
+int snd_ctl_add_slave(struct snd_kcontrol *master, struct snd_kcontrol *slave);
+                     
 #endif /* __SOUND_CONTROL_H */