diff mbox series

[2/4] input: ff-memless: Add trigger left/right in ml_combine_effects

Message ID 20220410220649.5258-1-dbdaniel42@gmail.com
State New
Headers show
Series [1/4] input: uapi: Add trigger_left and trigger_right to ff_rumble_effect struct | expand

Commit Message

Daniel Bomar April 10, 2022, 10:06 p.m. UTC
Signed-off-by: Daniel Bomar <dbdaniel42@gmail.com>
---
 drivers/input/ff-memless.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c
index 8229a9006917..7f3a19970608 100644
--- a/drivers/input/ff-memless.c
+++ b/drivers/input/ff-memless.c
@@ -245,7 +245,7 @@  static void ml_combine_effects(struct ff_effect *effect,
 			       int gain)
 {
 	struct ff_effect *new = state->effect;
-	unsigned int strong, weak, i;
+	unsigned int strong, weak, trigger_left, trigger_right, i;
 	int x, y;
 	s16 level;
 
@@ -271,6 +271,8 @@  static void ml_combine_effects(struct ff_effect *effect,
 	case FF_RUMBLE:
 		strong = (u32)new->u.rumble.strong_magnitude * gain / 0xffff;
 		weak = (u32)new->u.rumble.weak_magnitude * gain / 0xffff;
+		trigger_left = (u32)new->u.rumble.trigger_left * gain / 0xffff;
+		trigger_right = (u32)new->u.rumble.trigger_right * gain / 0xffff;
 
 		if (effect->u.rumble.strong_magnitude + strong)
 			effect->direction = ml_calculate_direction(
@@ -289,6 +291,10 @@  static void ml_combine_effects(struct ff_effect *effect,
 			    0xffffU);
 		effect->u.rumble.weak_magnitude =
 			min(weak + effect->u.rumble.weak_magnitude, 0xffffU);
+		effect->u.rumble.trigger_left =
+			min(trigger_left + effect->u.rumble.trigger_left, 0xffffU);
+		effect->u.rumble.trigger_right =
+			min(trigger_right + effect->u.rumble.trigger_right, 0xffffU);
 		break;
 
 	case FF_PERIODIC: