ft5x06: free GPIO in _remove

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: add support for ABS_MT_TRACKING_ID

Without this, the kernel seems to choke on > 4 concurrent touches.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: set MAX_TOUCHES to 12

As a practical matter, the ft5x06 only appears to produce
up to 10, but we can let the controller define that.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: don't infer touch screen release

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: respect/return tracking id from controller

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
ft5x06: ignore junk at POR

At power-on-reset, the touch status registers are frequently
garbage. Ignore them if the touch controller isn't currently
signalling readiness through the interrupt line.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>