@@ -322,10 +322,10 @@ int input_ff_create(struct input_dev *dev, unsigned int max_effects)
/* Copy "true" bits into ff device bitmap */
for_each_set_bit(i, dev->ffbit, FF_CNT)
- __set_bit(i, ff->ffbit);
+ __set_bit(i, dev->ff->ffbit);
/* we can emulate RUMBLE with periodic effects */
- if (test_bit(FF_PERIODIC, ff->ffbit))
+ if (test_bit(FF_PERIODIC, dev->ff->ffbit))
__set_bit(FF_RUMBLE, dev->ffbit);
return 0;
@@ -524,6 +524,10 @@ int input_ff_create_memless(struct input_dev *dev, void *data,
return error;
ff = dev->ff;
+
+ for (i = 0; i < FF_MEMLESS_EFFECTS; i++)
+ ml->states[i].effect = &ff->effects[i];
+
ff->private = no_free_ptr(ml);
ff->upload = ml_ff_upload;
ff->playback = ml_ff_playback;
@@ -538,9 +542,6 @@ int input_ff_create_memless(struct input_dev *dev, void *data,
set_bit(FF_SQUARE, dev->ffbit);
}
- for (i = 0; i < FF_MEMLESS_EFFECTS; i++)
- ml->states[i].effect = &ff->effects[i];
-
return 0;
}
EXPORT_SYMBOL_GPL(input_ff_create_memless);