git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
sound
/
usb
/
usbmixer.c
diff --git
a/sound/usb/usbmixer.c
b/sound/usb/usbmixer.c
index
13921f1
..
1d0aa03
100644
(file)
--- a/
sound/usb/usbmixer.c
+++ b/
sound/usb/usbmixer.c
@@
-5,7
+5,7
@@
*
* Copyright (c) 2002 by Takashi Iwai <tiwai@suse.de>
*
*
* Copyright (c) 2002 by Takashi Iwai <tiwai@suse.de>
*
- * Many codes borrowed from audio.c by
+ * Many codes borrowed from audio.c by
* Alan Cox (alan@lxorguk.ukuu.org.uk)
* Thomas Sailer (sailer@ife.ee.ethz.ch)
*
* Alan Cox (alan@lxorguk.ukuu.org.uk)
* Thomas Sailer (sailer@ife.ee.ethz.ch)
*
@@
-77,7
+77,7
@@
struct usb_mixer_elem_info {
unsigned int ctrlif;
unsigned int id;
unsigned int control; /* CS or ICN (high byte) */
unsigned int ctrlif;
unsigned int id;
unsigned int control; /* CS or ICN (high byte) */
- unsigned int cmask; /* channel mask bitmap: 0 = master */
+ unsigned int cmask; /* channel mask bitmap: 0 = master */
int channels;
int val_type;
int min, max, res;
int channels;
int val_type;
int min, max, res;
@@
-299,7
+299,7
@@
static int get_ctl_value(usb_mixer_elem_info_t *cval, int request, int validx, i
unsigned char buf[2];
int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1;
int timeout = 10;
unsigned char buf[2];
int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1;
int timeout = 10;
-
+
while (timeout-- > 0) {
if (snd_usb_ctl_msg(cval->chip->dev, usb_rcvctrlpipe(cval->chip->dev, 0),
request,
while (timeout-- > 0) {
if (snd_usb_ctl_msg(cval->chip->dev, usb_rcvctrlpipe(cval->chip->dev, 0),
request,
@@
-334,7
+334,7
@@
static int set_ctl_value(usb_mixer_elem_info_t *cval, int request, int validx, i
unsigned char buf[2];
int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1;
int timeout = 10;
unsigned char buf[2];
int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1;
int timeout = 10;
-
+
value_set = convert_bytes_value(cval, value_set);
buf[0] = value_set & 0xff;
buf[1] = (value_set >> 8) & 0xff;
value_set = convert_bytes_value(cval, value_set);
buf[0] = value_set & 0xff;
buf[1] = (value_set >> 8) & 0xff;
@@
-361,7
+361,7
@@
inline static int set_cur_mix_value(usb_mixer_elem_info_t *cval, int channel, in
/*
/*
- * parser routines begin here...
+ * parser routines begin here...
*/
static int parse_audio_unit(mixer_build_t *state, int unitid);
*/
static int parse_audio_unit(mixer_build_t *state, int unitid);
@@
-443,7
+443,7
@@
static struct iterm_name_combo {
{ 0x0712, "Multi-Track Recorder" },
{ 0x0713, "Synthesizer" },
{ 0 },
{ 0x0712, "Multi-Track Recorder" },
{ 0x0713, "Synthesizer" },
{ 0 },
-};
+};
static int get_term_name(mixer_build_t *state, usb_audio_term_t *iterm,
unsigned char *name, int maxlen, int term_only)
static int get_term_name(mixer_build_t *state, usb_audio_term_t *iterm,
unsigned char *name, int maxlen, int term_only)
@@
-573,7
+573,7
@@
static struct usb_feature_control_info audio_feature_info[] = {
static void usb_mixer_elem_free(snd_kcontrol_t *kctl)
{
if (kctl->private_data) {
static void usb_mixer_elem_free(snd_kcontrol_t *kctl)
{
if (kctl->private_data) {
-
snd_magic_
kfree((void *)kctl->private_data);
+ kfree((void *)kctl->private_data);
kctl->private_data = NULL;
}
}
kctl->private_data = NULL;
}
}
@@
-615,7
+615,7
@@
static int get_min_max(usb_mixer_elem_info_t *cval, int default_min)
cval->res = 1;
} else {
int last_valid_res = cval->res;
cval->res = 1;
} else {
int last_valid_res = cval->res;
-
+
while (cval->res > 1) {
if (set_ctl_value(cval, SET_RES, (cval->control << 8) | minchn, cval->res / 2) < 0)
break;
while (cval->res > 1) {
if (set_ctl_value(cval, SET_RES, (cval->control << 8) | minchn, cval->res / 2) < 0)
break;
@@
-634,8
+634,8
@@
static int get_min_max(usb_mixer_elem_info_t *cval, int default_min)
/* get a feature/mixer unit info */
static int mixer_ctl_feature_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo)
/* get a feature/mixer unit info */
static int mixer_ctl_feature_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo)
-{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+{
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
if (cval->val_type == USB_MIXER_BOOLEAN ||
cval->val_type == USB_MIXER_INV_BOOLEAN)
if (cval->val_type == USB_MIXER_BOOLEAN ||
cval->val_type == USB_MIXER_INV_BOOLEAN)
@@
-659,7
+659,7
@@
static int mixer_ctl_feature_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t
/* get the current value from feature/mixer unit */
static int mixer_ctl_feature_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
/* get the current value from feature/mixer unit */
static int mixer_ctl_feature_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
int c, cnt, val, err;
if (cval->cmask) {
int c, cnt, val, err;
if (cval->cmask) {
@@
-700,7
+700,7
@@
static int mixer_ctl_feature_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t
/* put the current value to feature/mixer unit */
static int mixer_ctl_feature_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
/* put the current value to feature/mixer unit */
static int mixer_ctl_feature_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
int c, cnt, val, oval, err;
int changed = 0;
int c, cnt, val, oval, err;
int changed = 0;
@@
-774,7
+774,7
@@
static void build_feature_ctl(mixer_build_t *state, unsigned char *desc,
if (check_ignored_ctl(state, unitid, control))
return;
if (check_ignored_ctl(state, unitid, control))
return;
- cval =
snd_magic_kcalloc(usb_mixer_elem_info_t, 0
, GFP_KERNEL);
+ cval =
kcalloc(1, sizeof(*cval)
, GFP_KERNEL);
if (! cval) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
return;
if (! cval) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
return;
@@
-801,7
+801,7
@@
static void build_feature_ctl(mixer_build_t *state, unsigned char *desc,
kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
-
snd_magic_
kfree(cval);
+ kfree(cval);
return;
}
kctl->private_free = usb_mixer_elem_free;
return;
}
kctl->private_free = usb_mixer_elem_free;
@@
-914,7
+914,7
@@
static int parse_audio_feature_unit(mixer_build_t *state, int unitid, unsigned c
if (master_bits & (1 << i))
build_feature_ctl(state, ftr, 0, i, &iterm, unitid);
}
if (master_bits & (1 << i))
build_feature_ctl(state, ftr, 0, i, &iterm, unitid);
}
-
+
return 0;
}
return 0;
}
@@
-943,7
+943,7
@@
static void build_mixer_unit_ctl(mixer_build_t *state, unsigned char *desc,
if (check_ignored_ctl(state, unitid, 0))
return;
if (check_ignored_ctl(state, unitid, 0))
return;
- cval =
snd_magic_kcalloc(usb_mixer_elem_info_t, 0
, GFP_KERNEL);
+ cval =
kcalloc(1, sizeof(*cval)
, GFP_KERNEL);
if (! cval)
return;
if (! cval)
return;
@@
-968,7
+968,7
@@
static void build_mixer_unit_ctl(mixer_build_t *state, unsigned char *desc,
kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
-
snd_magic_
kfree(cval);
+ kfree(cval);
return;
}
kctl->private_free = usb_mixer_elem_free;
return;
}
kctl->private_free = usb_mixer_elem_free;
@@
-1014,7
+1014,7
@@
static int parse_audio_mixer_unit(mixer_build_t *state, int unitid, unsigned cha
/* get callback for processing/extension unit */
static int mixer_ctl_procunit_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
/* get callback for processing/extension unit */
static int mixer_ctl_procunit_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
int err, val;
err = get_cur_ctl_value(cval, cval->control << 8, &val);
int err, val;
err = get_cur_ctl_value(cval, cval->control << 8, &val);
@@
-1032,7
+1032,7
@@
static int mixer_ctl_procunit_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t
/* put callback for processing/extension unit */
static int mixer_ctl_procunit_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
/* put callback for processing/extension unit */
static int mixer_ctl_procunit_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
int val, oval, err;
err = get_cur_ctl_value(cval, cval->control << 8, &oval);
int val, oval, err;
err = get_cur_ctl_value(cval, cval->control << 8, &oval);
@@
-1170,7
+1170,7
@@
static int build_audio_procunit(mixer_build_t *state, int unitid, unsigned char
continue;
if (check_ignored_ctl(state, unitid, valinfo->control))
continue;
continue;
if (check_ignored_ctl(state, unitid, valinfo->control))
continue;
- cval =
snd_magic_kcalloc(usb_mixer_elem_info_t, 0
, GFP_KERNEL);
+ cval =
kcalloc(1, sizeof(*cval)
, GFP_KERNEL);
if (! cval) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
return -ENOMEM;
if (! cval) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
return -ENOMEM;
@@
-1195,7
+1195,7
@@
static int build_audio_procunit(mixer_build_t *state, int unitid, unsigned char
kctl = snd_ctl_new1(&mixer_procunit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
kctl = snd_ctl_new1(&mixer_procunit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
-
snd_magic_
kfree(cval);
+ kfree(cval);
return -ENOMEM;
}
kctl->private_free = usb_mixer_elem_free;
return -ENOMEM;
}
kctl->private_free = usb_mixer_elem_free;
@@
-1243,8
+1243,8
@@
static int parse_audio_extension_unit(mixer_build_t *state, int unitid, unsigned
* use an enumerator type for routing
*/
static int mixer_ctl_selector_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo)
* use an enumerator type for routing
*/
static int mixer_ctl_selector_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo)
-{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+{
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
char **itemlist = (char **)kcontrol->private_value;
snd_assert(itemlist, return -EINVAL);
char **itemlist = (char **)kcontrol->private_value;
snd_assert(itemlist, return -EINVAL);
@@
-1260,7
+1260,7
@@
static int mixer_ctl_selector_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t
/* get callback for selector unit */
static int mixer_ctl_selector_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
/* get callback for selector unit */
static int mixer_ctl_selector_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
int val, err;
err = get_cur_ctl_value(cval, 0, &val);
int val, err;
err = get_cur_ctl_value(cval, 0, &val);
@@
-1279,7
+1279,7
@@
static int mixer_ctl_selector_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t
/* put callback for selector unit */
static int mixer_ctl_selector_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
/* put callback for selector unit */
static int mixer_ctl_selector_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol)
{
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL)
;
+ usb_mixer_elem_info_t *cval =
kcontrol->private_data
;
int val, oval, err;
err = get_cur_ctl_value(cval, 0, &oval);
int val, oval, err;
err = get_cur_ctl_value(cval, 0, &oval);
@@
-1315,9
+1315,9
@@
static void usb_mixer_selector_elem_free(snd_kcontrol_t *kctl)
int i, num_ins = 0;
if (kctl->private_data) {
int i, num_ins = 0;
if (kctl->private_data) {
- usb_mixer_elem_info_t *cval =
snd_magic_cast(usb_mixer_elem_info_t, kctl->private_data,)
;
+ usb_mixer_elem_info_t *cval =
kctl->private_data
;
num_ins = cval->max;
num_ins = cval->max;
-
snd_magic_
kfree(cval);
+ kfree(cval);
kctl->private_data = NULL;
}
if (kctl->private_value) {
kctl->private_data = NULL;
}
if (kctl->private_value) {
@@
-1357,7
+1357,7
@@
static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned
if (check_ignored_ctl(state, unitid, 0))
return 0;
if (check_ignored_ctl(state, unitid, 0))
return 0;
- cval =
snd_magic_kcalloc(usb_mixer_elem_info_t, 0
, GFP_KERNEL);
+ cval =
kcalloc(1, sizeof(*cval)
, GFP_KERNEL);
if (! cval) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
return -ENOMEM;
if (! cval) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
return -ENOMEM;
@@
-1375,7
+1375,7
@@
static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned
namelist = kmalloc(sizeof(char *) * num_ins, GFP_KERNEL);
if (! namelist) {
snd_printk(KERN_ERR "cannot malloc\n");
namelist = kmalloc(sizeof(char *) * num_ins, GFP_KERNEL);
if (! namelist) {
snd_printk(KERN_ERR "cannot malloc\n");
-
snd_magic_
kfree(cval);
+ kfree(cval);
return -ENOMEM;
}
#define MAX_ITEM_NAME_LEN 64
return -ENOMEM;
}
#define MAX_ITEM_NAME_LEN 64
@@
-1388,7
+1388,7
@@
static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned
while (--i > 0)
kfree(namelist[i]);
kfree(namelist);
while (--i > 0)
kfree(namelist[i]);
kfree(namelist);
-
snd_magic_
kfree(cval);
+ kfree(cval);
return -ENOMEM;
}
if (check_input_term(state, desc[5 + i], &iterm) >= 0)
return -ENOMEM;
}
if (check_input_term(state, desc[5 + i], &iterm) >= 0)
@@
-1400,7
+1400,7
@@
static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned
kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval);
if (! kctl) {
snd_printk(KERN_ERR "cannot malloc kcontrol\n");
-
snd_magic_
kfree(cval);
+ kfree(cval);
return -ENOMEM;
}
kctl->private_value = (unsigned long)namelist;
return -ENOMEM;
}
kctl->private_value = (unsigned long)namelist;