diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c index d226d93..3bbace9 100644 --- a/drivers/input/ff-memless.c +++ b/drivers/input/ff-memless.c @@ -275,6 +275,10 @@ static void ml_combine_effects(struct ff_effect *effect, min(i + effect->u.rumble.weak_magnitude, 0xffffU); break; + case FF_RAW: + memcpy(effect->u.ff_raw, new->u.ff_raw, sizeof(new->u.ff_raw)); + break; + default: printk(KERN_ERR "ff-memless: invalid type in ml_combine_effects()\n"); break; diff --git a/include/linux/input.h b/include/linux/input.h index 2a52fc0..63a1e86 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -859,6 +859,7 @@ struct ff_effect { struct ff_periodic_effect periodic; struct ff_condition_effect condition[2]; /* One for each axis */ struct ff_rumble_effect rumble; + __u32 ff_raw[6]; } u; }; @@ -874,9 +875,10 @@ struct ff_effect { #define FF_DAMPER 0x55 #define FF_INERTIA 0x56 #define FF_RAMP 0x57 +#define FF_RAW 0x58 #define FF_EFFECT_MIN FF_RUMBLE -#define FF_EFFECT_MAX FF_RAMP +#define FF_EFFECT_MAX FF_RAW /* * Force feedback periodic effect types