synaptics_3k: various s2w/dt2w fixes and ported i2c_syn_read() from endeavoru kernel