Lines Matching full:ml
110 static void ml_schedule_timer(struct ml_device *ml) in ml_schedule_timer() argument
123 state = &ml->states[i]; in ml_schedule_timer()
140 timer_delete(&ml->timer); in ml_schedule_timer()
143 mod_timer(&ml->timer, earliest); in ml_schedule_timer()
324 static int ml_get_combo_effect(struct ml_device *ml, in ml_get_combo_effect() argument
339 state = &ml->states[i]; in ml_get_combo_effect()
353 effect_type = get_compatible_type(ml->dev->ff, effect->type); in ml_get_combo_effect()
381 ml_combine_effects(combo_effect, state, ml->gain); in ml_get_combo_effect()
388 static void ml_play_effects(struct ml_device *ml) in ml_play_effects() argument
395 while (ml_get_combo_effect(ml, handled_bm, &effect)) in ml_play_effects()
396 ml->play_effect(ml->dev, ml->private, &effect); in ml_play_effects()
398 ml_schedule_timer(ml); in ml_play_effects()
403 struct ml_device *ml = timer_container_of(ml, t, timer); in ml_effect_timer() local
404 struct input_dev *dev = ml->dev; in ml_effect_timer()
409 ml_play_effects(ml); in ml_effect_timer()
417 struct ml_device *ml = dev->ff->private; in ml_ff_set_gain() local
420 ml->gain = gain; in ml_ff_set_gain()
423 __clear_bit(FF_EFFECT_PLAYING, &ml->states[i].flags); in ml_ff_set_gain()
425 ml_play_effects(ml); in ml_ff_set_gain()
433 struct ml_device *ml = dev->ff->private; in ml_ff_playback() local
434 struct ml_effect_state *state = &ml->states[effect_id]; in ml_ff_playback()
456 ml_play_effects(ml); in ml_ff_playback()
464 struct ml_device *ml = dev->ff->private; in ml_ff_upload() local
465 struct ml_effect_state *state = &ml->states[effect->id]; in ml_ff_upload()
476 ml_schedule_timer(ml); in ml_ff_upload()
484 struct ml_device *ml = ff->private; in ml_ff_destroy() local
493 timer_delete_sync(&ml->timer); in ml_ff_destroy()
495 kfree(ml->private); in ml_ff_destroy()
511 struct ml_device *ml __free(kfree) = kzalloc_obj(*ml); in input_ff_create_memless()
512 if (!ml) in input_ff_create_memless()
515 ml->dev = dev; in input_ff_create_memless()
516 ml->private = data; in input_ff_create_memless()
517 ml->play_effect = play_effect; in input_ff_create_memless()
518 ml->gain = 0xffff; in input_ff_create_memless()
519 timer_setup(&ml->timer, ml_effect_timer, 0); in input_ff_create_memless()
542 ml->states[i].effect = &ff->effects[i]; in input_ff_create_memless()
544 ff->private = no_free_ptr(ml); in input_ff_create_memless()