Kill the static work queue

Request a threaded_irq handling, so we can actually do treatment
in the IRQ. Then the ugly goodix_wq  is not necessary anymore.
remove custom boilerplate on load/remove of the module
Remove unused fields in struct goodix_ts_data

irq_lock is not required anymore, so as work and irq_is_disable
Add missing return

If the read fail, we should bail out, not continue and overwrite
the values.
Remove constants in struct goodix_ts_data

they are assigned once in the driver, with the default values.
Use the default values and clean the code.
FAIL and SUCCESS are never used
Merge gt9xx.h into the c file
Remove unused macro GTP_DEBUG_FUNC()
Declares functions as static and remove the unused ones
remove white line and comment
Remove unused symbols
Fix formatting whitespaces
gtp_init_panel always returns 0 (success) make it void
Fix whitespaces
config is only used in gtp_init_panel(), make a local array
Use GTP_MAX_TOUCH in input_mt_init_slots
Use correct log levels with customs logs
Make gtp_i2c_read accept a register as parameter

simplifies the calls
Use devm API to prevent memory leaks

Fixes also the errors paths in probe
break out input_mt_slot and input_mt_report_slot_state

removes the need for gtp_touch_up