Lines Matching refs:effect
63 static int compat_effect(struct ff_device *ff, struct ff_effect *effect) in compat_effect() argument
67 switch (effect->type) { in compat_effect()
76 magnitude = effect->u.rumble.strong_magnitude / 3 + in compat_effect()
77 effect->u.rumble.weak_magnitude / 6; in compat_effect()
79 effect->type = FF_PERIODIC; in compat_effect()
80 effect->u.periodic.waveform = FF_SINE; in compat_effect()
81 effect->u.periodic.period = 50; in compat_effect()
82 effect->u.periodic.magnitude = max(magnitude, 0x7fff); in compat_effect()
83 effect->u.periodic.offset = 0; in compat_effect()
84 effect->u.periodic.phase = 0; in compat_effect()
85 effect->u.periodic.envelope.attack_length = 0; in compat_effect()
86 effect->u.periodic.envelope.attack_level = 0; in compat_effect()
87 effect->u.periodic.envelope.fade_length = 0; in compat_effect()
88 effect->u.periodic.envelope.fade_level = 0; in compat_effect()
104 int input_ff_upload(struct input_dev *dev, struct ff_effect *effect, in input_ff_upload() argument
115 if (effect->type < FF_EFFECT_MIN || effect->type > FF_EFFECT_MAX || in input_ff_upload()
116 !test_bit(effect->type, dev->ffbit)) { in input_ff_upload()
121 if (effect->type == FF_PERIODIC && in input_ff_upload()
122 (effect->u.periodic.waveform < FF_WAVEFORM_MIN || in input_ff_upload()
123 effect->u.periodic.waveform > FF_WAVEFORM_MAX || in input_ff_upload()
124 !test_bit(effect->u.periodic.waveform, dev->ffbit))) { in input_ff_upload()
129 if (!test_bit(effect->type, ff->ffbit)) { in input_ff_upload()
130 ret = compat_effect(ff, effect); in input_ff_upload()
137 if (effect->id == -1) { in input_ff_upload()
147 effect->id = id; in input_ff_upload()
151 id = effect->id; in input_ff_upload()
159 if (!check_effects_compatible(effect, old)) { in input_ff_upload()
165 ret = ff->upload(dev, effect, old); in input_ff_upload()
170 ff->effects[id] = *effect; in input_ff_upload()