Lines Matching full:effect
18 * Check that the effect_id is a valid effect and whether the user
46 * Convert an effect into compatible one
48 static int compat_effect(struct ff_device *ff, struct ff_effect *effect) in compat_effect() argument
52 switch (effect->type) { in compat_effect()
61 magnitude = effect->u.rumble.strong_magnitude / 3 + in compat_effect()
62 effect->u.rumble.weak_magnitude / 6; in compat_effect()
64 effect->type = FF_PERIODIC; in compat_effect()
65 effect->u.periodic.waveform = FF_SINE; in compat_effect()
66 effect->u.periodic.period = 50; in compat_effect()
67 effect->u.periodic.magnitude = magnitude; in compat_effect()
68 effect->u.periodic.offset = 0; in compat_effect()
69 effect->u.periodic.phase = 0; in compat_effect()
70 effect->u.periodic.envelope.attack_length = 0; in compat_effect()
71 effect->u.periodic.envelope.attack_level = 0; in compat_effect()
72 effect->u.periodic.envelope.fade_length = 0; in compat_effect()
73 effect->u.periodic.envelope.fade_level = 0; in compat_effect()
84 * input_ff_upload() - upload effect into force-feedback device
86 * @effect: effect to be uploaded
87 * @file: owner of the effect
89 int input_ff_upload(struct input_dev *dev, struct ff_effect *effect, in input_ff_upload() argument
100 if (effect->type < FF_EFFECT_MIN || effect->type > FF_EFFECT_MAX || in input_ff_upload()
101 !test_bit(effect->type, dev->ffbit)) { in input_ff_upload()
102 dev_dbg(&dev->dev, "invalid or not supported effect type in upload\n"); in input_ff_upload()
106 if (effect->type == FF_PERIODIC && in input_ff_upload()
107 (effect->u.periodic.waveform < FF_WAVEFORM_MIN || in input_ff_upload()
108 effect->u.periodic.waveform > FF_WAVEFORM_MAX || in input_ff_upload()
109 !test_bit(effect->u.periodic.waveform, dev->ffbit))) { in input_ff_upload()
114 if (!test_bit(effect->type, ff->ffbit)) { in input_ff_upload()
115 ret = compat_effect(ff, effect); in input_ff_upload()
122 if (effect->id == -1) { in input_ff_upload()
132 effect->id = id; in input_ff_upload()
136 id = effect->id; in input_ff_upload()
144 if (!check_effects_compatible(effect, old)) { in input_ff_upload()
150 ret = ff->upload(dev, effect, old); in input_ff_upload()
155 ff->effects[id] = *effect; in input_ff_upload()
166 * Erases the effect if the requester is also the effect owner. The mutex
199 * input_ff_erase - erase a force-feedback effect from device
200 * @dev: input device to erase effect from
201 * @effect_id: id of the effect to be erased
204 * This function erases a force-feedback effect from specified device.
205 * The effect will only be erased if it was uploaded through the same
226 * @dev: input device to erase effect from
253 * @dev: input device to send the effect to