Because the joystick type was never set, the input irq handler never
called the x52pro_decode_urb function. This fixes that issue, however,
it still needs verification that the changes work.
This change adds an input device for the Saitek X52 pro flight control
system. However, with this change, there is some bug which causes a
kernel crash. Still debugging, but committing so that I don't lose data.
This adds a list of supported devices with flags for each device.
The flags control whether the MFD and/or LED are supported for
each supported device.
This also changes the deadzone structure to be more compliant with
the fuzz and flat parameters for absolute input.
This change moves the common definitions to their own file so
that we can later rewrite the driver to accept the structure
as input.
A caveat with this approach is that it does prevent shell scripts
from updating the joystick, however, it eases the burden of
verification in the kernel, and it's not too hard to write
wrapper programs to write kernel structures to the files.
Earlier versions of the module could be rmmod'ed while the X52 joystick
was still plugged in and running. Unplugging the joystick after the
module was removed resulted in a kernel crash.
With this change, the X52 USB control API is moved to it's own
file in order to better separate the code and make it cleaner.
This change also renames the kernel module to saitek_x52.
This commit adds sysfs files to enable or disable the LEDs on the
X52 Pro joystick. This also fixes a minor bug with the brightness
API which was always complaining not-supported.
This still has a bug in that the text is not written correctly. It
shows up as garbage. For now, I'm committing it so that I can work
on it later after the brightness configuration is set up.
Also add the commands header file.
This is pretty much bare bones code to get a basic sysfs filesystem
in place. It has only code to create sysfs files for the 3 MFD lines.
Right now, this needs to be enabled by unplugging the joystick,
insmod'ing the x52joy.ko module, rmmod'ing the usbhid module and
replugging the joystick. We don't yet have a /dev/input/ interface
and there's no interrupt message handling yet.