Lines Matching refs:ml
124 static void ml_schedule_timer(struct ml_device *ml) in ml_schedule_timer() argument
137 state = &ml->states[i]; in ml_schedule_timer()
154 del_timer(&ml->timer); in ml_schedule_timer()
157 mod_timer(&ml->timer, earliest); in ml_schedule_timer()
338 static int ml_get_combo_effect(struct ml_device *ml, in ml_get_combo_effect() argument
353 state = &ml->states[i]; in ml_get_combo_effect()
367 effect_type = get_compatible_type(ml->dev->ff, effect->type); in ml_get_combo_effect()
395 ml_combine_effects(combo_effect, state, ml->gain); in ml_get_combo_effect()
402 static void ml_play_effects(struct ml_device *ml) in ml_play_effects() argument
409 while (ml_get_combo_effect(ml, handled_bm, &effect)) in ml_play_effects()
410 ml->play_effect(ml->dev, ml->private, &effect); in ml_play_effects()
412 ml_schedule_timer(ml); in ml_play_effects()
418 struct ml_device *ml = dev->ff->private; in ml_effect_timer() local
424 ml_play_effects(ml); in ml_effect_timer()
433 struct ml_device *ml = dev->ff->private; in ml_ff_set_gain() local
436 ml->gain = gain; in ml_ff_set_gain()
439 __clear_bit(FF_EFFECT_PLAYING, &ml->states[i].flags); in ml_ff_set_gain()
441 ml_play_effects(ml); in ml_ff_set_gain()
449 struct ml_device *ml = dev->ff->private; in ml_ff_playback() local
450 struct ml_effect_state *state = &ml->states[effect_id]; in ml_ff_playback()
472 ml_play_effects(ml); in ml_ff_playback()
480 struct ml_device *ml = dev->ff->private; in ml_ff_upload() local
481 struct ml_effect_state *state = &ml->states[effect->id]; in ml_ff_upload()
492 ml_schedule_timer(ml); in ml_ff_upload()
502 struct ml_device *ml = ff->private; in ml_ff_destroy() local
504 kfree(ml->private); in ml_ff_destroy()
516 struct ml_device *ml; in input_ff_create_memless() local
521 ml = kzalloc(sizeof(struct ml_device), GFP_KERNEL); in input_ff_create_memless()
522 if (!ml) in input_ff_create_memless()
525 ml->dev = dev; in input_ff_create_memless()
526 ml->private = data; in input_ff_create_memless()
527 ml->play_effect = play_effect; in input_ff_create_memless()
528 ml->gain = 0xffff; in input_ff_create_memless()
529 setup_timer(&ml->timer, ml_effect_timer, (unsigned long)dev); in input_ff_create_memless()
535 kfree(ml); in input_ff_create_memless()
540 ff->private = ml; in input_ff_create_memless()
555 ml->states[i].effect = &ff->effects[i]; in input_ff_create_memless()