Remove goodix_ts_remove

This callback does not do anything useful besides setting clientdata to
NULL, which is not that much of a trouble if we forget to do it.

Remove the callback to simplify the module.
Remove useless memset

kzalloc already takes care of setting the buffer to 0.
inline input_mt_slot and input_mt_report_slot_state

removes the need for gtp_touch_up and gtp_touch_down, and will allow
for a better handling of slots.
Do not initialize variables in goodix_ts_work_func

So the compiler can gives us hints if one is not used properly
Update doc texts
Cleanup gtp_i2c_read and gpt_i2c_write

The functions should return an int, and actually, the i2c call is made
exactly once. Drop the retry thing.
Make gtp_i2c_read accept a register as parameter

simplifies the calls
Refactor the input report and multitouch reportings

It was complicate because it wanted to release the previous touches
whichh are not reported by the device when lifted. We have a better way
of doing this by setting the flag INPUT_MT_DROP_UNUSED, so use this.
gtp_i2c_write can also take the dest register as a parameter

It simplifies the calls.
Use get_unaligned_le16 instead of manually parsing the field

We have some nice conveninent functions, use them.

"buf[0] | (buf[1] << 8)" is equivalent to "get_unaligned_le16(&buf[0])"
Remove useless symbol GTP_DEBUG
Do not initialize variables

So the compiler can notice us of uninitialized uses.
Fix some whitespaces damages

checkpatch is much happier
msleep(10) is useless

checkpatch complains about:
WARNING: msleep < 20ms can sleep for up to 20ms;
see Documentation/timers/timers-howto.txt

Use a 20 ms sleep then
Fix 80 columns warnings

Checkpatch is happy now :)
Do not use s32, but native int

fix also useless snprintf
The IRQ flags array is a mess use a static const definitiion
Remove unused defines
Remove useless msleep
Rename gtp_init_panel to gtp_read_config

There is no more initialization of the panel in this function.
Rename it