Query: struct_ff_device
OS: centos
Section: 9
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
STRUCTFF_DEVICE(9) Input Subsystem STRUCT FF_DEVICE(9)NAMEstruct_ff_device - force-feedback part of an input deviceSYNOPSISstruct ff_device { int (* upload) (struct input_dev *dev, struct ff_effect *effect,struct ff_effect *old); int (* erase) (struct input_dev *dev, int effect_id); int (* playback) (struct input_dev *dev, int effect_id, int value); void (* set_gain) (struct input_dev *dev, u16 gain); void (* set_autocenter) (struct input_dev *dev, u16 magnitude); void (* destroy) (struct ff_device *); void * private; unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; struct mutex mutex; int max_effects; struct ff_effect * effects; struct file * effect_owners[]; };MEMBERSupload Called to upload an new effect into device erase Called to erase an effect from device playback Called to request device to start playing specified effect set_gain Called to set specified gain set_autocenter Called to auto-center device destroy called by input core when parent input device is being destroyed private driver-specific data, will be freed automatically ffbit[BITS_TO_LONGS(FF_CNT)] bitmap of force feedback capabilities truly supported by device (not emulated like ones in input_dev->ffbit) mutex mutex for serializing access to the device max_effects maximum number of effects supported by device effects pointer to an array of effects currently loaded into device effect_owners[] array of effect owners; when file handle owning an effect gets closed the effect is automatically erasedDESCRIPTIONEvery force-feedback device must implement upload and playback methods; erase is optional. set_gain and set_autocenter need only be implemented if driver sets up FF_GAIN and FF_AUTOCENTER bits. Note that playback, set_gain and set_autocenter are called with dev->event_lock spinlock held and interrupts off and thus may not sleep.COPYRIGHTKernel Hackers Manual 3.10 June 2014 STRUCT FF_DEVICE(9)