From f492338f28098bd678ca666be1b911a645cf1291 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michal=20Mal=C3=BD?= Date: Wed, 19 Aug 2015 23:48:44 +0200 Subject: [PATCH] Read autocentering support from ffbits --- klgd_ff_plugin.c | 8 +++++--- klgd_ff_plugin.h | 1 - klgdff.c | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/klgd_ff_plugin.c b/klgd_ff_plugin.c index 30e65da..ae5526d 100644 --- a/klgd_ff_plugin.c +++ b/klgd_ff_plugin.c @@ -1393,12 +1393,14 @@ int ffpl_init_plugin(struct klgd_plugin **plugin, struct input_dev *dev, const s priv->has_native_gain = true; printk(KERN_NOTICE "KLGDFF: Using HAS_NATIVE_GAIN\n"); } - if (FFPL_HAS_AUTOCENTER & flags) { + + if (FF_AUTOCENTER & priv->supported_effects) { priv->has_autocenter = true; - set_bit(FF_AUTOCENTER, dev->ffbit); + input_set_capability(dev, EV_FF, FF_AUTOCENTER); printk(KERN_NOTICE "KLGDFF: Using HAS_AUTOCENTER\n"); } - set_bit(FF_GAIN, dev->ffbit); + + input_set_capability(dev, EV_FF, FF_GAIN); for (idx = 0; idx <= (FF_WAVEFORM_MAX - FF_EFFECT_MIN); idx++) { if (test_bit(idx, &priv->supported_effects)) { printk(KERN_NOTICE "KLGDFF: Has bit %d, effect type %d\n", idx, FF_EFFECT_MIN + idx); diff --git a/klgd_ff_plugin.h b/klgd_ff_plugin.h index e7c7e4c..9a6cc49 100644 --- a/klgd_ff_plugin.h +++ b/klgd_ff_plugin.h @@ -20,7 +20,6 @@ #define FFPL_TIMING_CONDITION BIT(9) /* Let the plugin take care of starting and stopping of condition effects */ #define FFPL_HAS_NATIVE_GAIN BIT(15) /* Device can adjust the gain by itself */ -#define FFPL_HAS_AUTOCENTER BIT(16) /* Device supports autocentering */ enum ffpl_control_command { /* Force feedback state transitions */ diff --git a/klgdff.c b/klgdff.c index 83fe160..51b1260 100644 --- a/klgdff.c +++ b/klgdff.c @@ -354,9 +354,10 @@ static int __init klgdff_init(void) input_set_capability(dev, EV_KEY, BTN_TRIGGER); input_set_abs_params(dev, ABS_X, -0x7fff, 0x7fff, 0, 0); input_set_abs_params(dev, ABS_Y, -0x7fff, 0x7fff, 0, 0); + set_bit(FF_AUTOCENTER, &ffbits); ret = ffpl_init_plugin(&ff_plugin, dev, EFFECT_COUNT, ffbits, - FFPL_HAS_EMP_TO_SRT | FFPL_REPLACE_STARTED | FFPL_HAS_AUTOCENTER | FFPL_MEMLESS_RAMP | FFPL_TIMING_CONDITION, + FFPL_HAS_EMP_TO_SRT | FFPL_REPLACE_STARTED | FFPL_MEMLESS_RAMP | FFPL_TIMING_CONDITION, klgdff_control, &test_user); if (ret) { printk(KERN_ERR "KLGDFF-TD: Cannot init plugin\n"); -- 2.43.5