synaptics S3320: bring inline with lineage-15.1
Change-Id: I36d8cbac90add8cccef212eccae7dede9c9b806a
This commit is contained in:
parent
083d0a1baf
commit
3ea60bc578
6 changed files with 565 additions and 651 deletions
|
@ -91,6 +91,11 @@ sent in the evdev event stream.
|
|||
event and query the device (using EVIOCG* ioctls) to obtain its
|
||||
current state.
|
||||
|
||||
* SYN_TIME_SEC, SYN_TIME_NSEC:
|
||||
- Used to report the timestamp from the hardware. The timestamp should record
|
||||
the exact time when the hardware events happens. The timestamp is
|
||||
CLOCK_MONOTONIC based.
|
||||
|
||||
EV_KEY:
|
||||
----------
|
||||
EV_KEY events take the form KEY_<name> or BTN_<name>. For example, KEY_A is used
|
||||
|
|
|
@ -273,6 +273,8 @@ static int input_get_disposition(struct input_dev *dev,
|
|||
case EV_SYN:
|
||||
switch (code) {
|
||||
case SYN_CONFIG:
|
||||
case SYN_TIME_SEC:
|
||||
case SYN_TIME_NSEC:
|
||||
disposition = INPUT_PASS_TO_ALL;
|
||||
break;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -917,6 +917,11 @@ static int synaptics_rmi4_f11_abs_report(struct synaptics_rmi4_data *rmi4_data,
|
|||
if (retval < 0)
|
||||
return 0;
|
||||
|
||||
input_event(rmi4_data->input_dev, EV_SYN, SYN_TIME_SEC,
|
||||
ktime_to_timespec(rmi4_data->timestamp).tv_sec);
|
||||
input_event(rmi4_data->input_dev, EV_SYN, SYN_TIME_NSEC,
|
||||
ktime_to_timespec(rmi4_data->timestamp).tv_nsec);
|
||||
|
||||
for (finger = 0; finger < fingers_supported; finger++) {
|
||||
reg_index = finger / 4;
|
||||
finger_shift = (finger % 4) * 2;
|
||||
|
@ -1106,6 +1111,11 @@ static int synaptics_rmi4_f12_abs_report(struct synaptics_rmi4_data *rmi4_data,
|
|||
|
||||
data = (struct synaptics_rmi4_f12_finger_data *)fhandler->data;
|
||||
|
||||
input_event(rmi4_data->input_dev, EV_SYN, SYN_TIME_SEC,
|
||||
ktime_to_timespec(rmi4_data->timestamp).tv_sec);
|
||||
input_event(rmi4_data->input_dev, EV_SYN, SYN_TIME_NSEC,
|
||||
ktime_to_timespec(rmi4_data->timestamp).tv_nsec);
|
||||
|
||||
for (finger = 0; finger < fingers_to_process; finger++) {
|
||||
finger_data = data + finger;
|
||||
finger_status = finger_data->object_type_and_status;
|
||||
|
@ -1438,6 +1448,8 @@ static irqreturn_t synaptics_rmi4_irq(int irq, void *data)
|
|||
if (IRQ_HANDLED == synaptics_filter_interrupt(data))
|
||||
return IRQ_HANDLED;
|
||||
|
||||
rmi4_data->timestamp = ktime_get();
|
||||
|
||||
synaptics_rmi4_sensor_report(rmi4_data);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
|
|
|
@ -314,6 +314,7 @@ struct synaptics_rmi4_data {
|
|||
struct clk *core_clk;
|
||||
struct clk *iface_clk;
|
||||
#endif
|
||||
ktime_t timestamp;
|
||||
};
|
||||
|
||||
struct synaptics_dsx_bus_access {
|
||||
|
|
|
@ -57,6 +57,8 @@
|
|||
#define SYN_CONFIG 1
|
||||
#define SYN_MT_REPORT 2
|
||||
#define SYN_DROPPED 3
|
||||
#define SYN_TIME_SEC 4
|
||||
#define SYN_TIME_NSEC 5
|
||||
#define SYN_MAX 0xf
|
||||
#define SYN_CNT (SYN_MAX+1)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue