X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fsynth%2Femux%2Femux_oss.c;h=5272f4ac8afd044a75df967730dd5247fc5f9a17;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=3db41a7c1181fe31ad44f499fc3967694ce95eeb;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/sound/synth/emux/emux_oss.c b/sound/synth/emux/emux_oss.c index 3db41a7c1..5272f4ac8 100644 --- a/sound/synth/emux/emux_oss.c +++ b/sound/synth/emux/emux_oss.c @@ -34,7 +34,7 @@ static int snd_emux_open_seq_oss(snd_seq_oss_arg_t *arg, void *closure); static int snd_emux_close_seq_oss(snd_seq_oss_arg_t *arg); static int snd_emux_ioctl_seq_oss(snd_seq_oss_arg_t *arg, unsigned int cmd, unsigned long ioarg); -static int snd_emux_load_patch_seq_oss(snd_seq_oss_arg_t *arg, int format, const char *buf, int offs, int count); +static int snd_emux_load_patch_seq_oss(snd_seq_oss_arg_t *arg, int format, const char __user *buf, int offs, int count); static int snd_emux_reset_seq_oss(snd_seq_oss_arg_t *arg); static int snd_emux_event_oss_input(snd_seq_event_t *ev, int direct, void *private, int atomic, int hop); static void reset_port_mode(snd_emux_port_t *port, int midi_mode); @@ -108,7 +108,7 @@ snd_emux_open_seq_oss(snd_seq_oss_arg_t *arg, void *closure) snd_seq_port_callback_t callback; char tmpname[64]; - emu = snd_magic_cast(snd_emux_t, closure, return -EINVAL); + emu = closure; snd_assert(arg != NULL && emu != NULL, return -ENXIO); down(&emu->register_mutex); @@ -179,7 +179,7 @@ snd_emux_close_seq_oss(snd_seq_oss_arg_t *arg) snd_emux_port_t *p; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -201,14 +201,14 @@ snd_emux_close_seq_oss(snd_seq_oss_arg_t *arg) */ static int snd_emux_load_patch_seq_oss(snd_seq_oss_arg_t *arg, int format, - const char *buf, int offs, int count) + const char __user *buf, int offs, int count) { snd_emux_t *emu; snd_emux_port_t *p; int rc; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -248,7 +248,7 @@ snd_emux_ioctl_seq_oss(snd_seq_oss_arg_t *arg, unsigned int cmd, unsigned long i snd_emux_t *emu; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -278,7 +278,7 @@ snd_emux_reset_seq_oss(snd_seq_oss_arg_t *arg) snd_emux_port_t *p; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); snd_emux_reset_port(p); return 0; @@ -296,7 +296,7 @@ snd_emux_event_oss_input(snd_seq_event_t *ev, int direct, void *private_data, snd_emux_port_t *p; unsigned char cmd, *data; - p = snd_magic_cast(snd_emux_port_t, private_data, return -EINVAL); + p = private_data; snd_assert(p != NULL, return -EINVAL); emu = p->emu; snd_assert(emu != NULL, return -EINVAL); @@ -339,9 +339,11 @@ emuspec_control(snd_emux_t *emu, snd_emux_port_t *port, int cmd, p2 = *(short *) &event[6]; switch (cmd) { +#if 0 /* don't do this atomically */ case _EMUX_OSS_REMOVE_LAST_SAMPLES: snd_soundfont_remove_unlocked(emu->sflist); break; +#endif case _EMUX_OSS_SEND_EFFECT: if (chan) snd_emux_send_effect_oss(port, chan, p1, p2);