MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>");
MODULE_DESCRIPTION("Advanced Linux Sound Architecture IWFFFF support.");
MODULE_LICENSE("GPL");
-MODULE_CLASSES("{sound}");
-MODULE_SUPPORTED_DEVICE("sound");
char *snd_seq_iwffff_id = SNDRV_SEQ_INSTR_ID_INTERWAVE;
iwffff_layer_t *lp,
iwffff_env_t *ep,
iwffff_xenv_t *ex,
- char **data,
+ char __user **data,
long *len,
int gfp_mask)
{
points_size = (le16_to_cpu(rx.nattack) + le16_to_cpu(rx.nrelease)) * 2 * sizeof(__u16);
if (points_size > *len)
return -EINVAL;
- rp = (iwffff_env_record_t *)snd_kcalloc(sizeof(*rp) + points_size, gfp_mask);
+ rp = kcalloc(1, sizeof(*rp) + points_size, gfp_mask);
if (rp == NULL)
return -ENOMEM;
rp->nattack = le16_to_cpu(rx.nattack);
static int snd_seq_iwffff_copy_wave_from_stream(snd_iwffff_ops_t *ops,
iwffff_layer_t *lp,
- char **data,
+ char __user **data,
long *len,
int atomic)
{
return -EFAULT;
*data += sizeof(xp);
*len -= sizeof(xp);
- wp = (iwffff_wave_t *)snd_kcalloc(sizeof(*wp), gfp_mask);
+ wp = kcalloc(1, sizeof(*wp), gfp_mask);
if (wp == NULL)
return -ENOMEM;
wp->share_id[0] = le32_to_cpu(xp.share_id[0]);
}
static int snd_seq_iwffff_put(void *private_data, snd_seq_kinstr_t *instr,
- char *instr_data, long len, int atomic, int cmd)
+ char __user *instr_data, long len, int atomic,
+ int cmd)
{
snd_iwffff_ops_t *ops = (snd_iwffff_ops_t *)private_data;
iwffff_instrument_t *ip;
snd_seq_iwffff_instr_free(ops, ip, atomic);
return -EINVAL;
}
- lp = (iwffff_layer_t *)snd_kcalloc(sizeof(*lp), gfp_mask);
+ lp = kcalloc(1, sizeof(*lp), gfp_mask);
if (lp == NULL) {
snd_seq_iwffff_instr_free(ops, ip, atomic);
return -ENOMEM;
iwffff_layer_t *lp,
iwffff_xenv_t *ex,
iwffff_env_t *ep,
- char **data,
+ char __user **data,
long *len)
{
iwffff_env_record_t *rp;
static int snd_seq_iwffff_copy_wave_to_stream(snd_iwffff_ops_t *ops,
iwffff_layer_t *lp,
- char **data,
+ char __user **data,
long *len,
int atomic)
{
}
static int snd_seq_iwffff_get(void *private_data, snd_seq_kinstr_t *instr,
- char *instr_data, long len, int atomic, int cmd)
+ char __user *instr_data, long len, int atomic, int cmd)
{
snd_iwffff_ops_t *ops = (snd_iwffff_ops_t *)private_data;
iwffff_instrument_t *ip;
iwffff_xinstrument_t ix;
iwffff_layer_t *lp;
iwffff_xlayer_t lx;
- char *layer_instr_data;
+ char __user *layer_instr_data;
int err;
if (cmd != SNDRV_SEQ_INSTR_GET_CMD_FULL)