On 05/24/2012 04:21 PM, Henrik Rydberg wrote:
Hi Joonyoung,
This is a initial driver for new touchscreen chip mms114 of MELFAS.
It uses I2C interface and supports 10 multi touch.
Signed-off-by: Joonyoung Shim<jy0922.shim@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park<kyungmin.park@xxxxxxxxxxx>
---
This v5 patch was updated from Henrik review mainly.
Looking neat now, thanks for making the changes. One comment and one question:
+#define MMS114_PACKET_NUM 8
I would have dropped this in favor of sizeof(touch[0]) instead.
OK.
+static irqreturn_t mms114_interrupt(int irq, void *dev_id)
+{
+ struct mms114_data *data = dev_id;
+ struct mms114_touch touch[MMS114_MAX_TOUCH];
+ int packet_size;
+ int touch_size;
+ int index;
+ int error;
+
+ if (!data->enabled)
+ goto out;
+
+ packet_size = mms114_read_reg(data, MMS114_PACKET_SIZE);
+ if (packet_size<= 0)
+ goto out;
+
+ touch_size = packet_size / MMS114_PACKET_NUM;
Since MMS114_PACKET_NUM changed, this calculation is no longer the
same. Will you still get the correct number of touches for all
firmware versions?
No, it is working only from firmware version 0x59 and i am using
firmware version 0x66. I don't know Melfas's firmware policy. Melfas
releases sometimes inconsistent updated firmware internally, so driver
needs to check firmware version later but currently this driver can't
get the correct number of touches on lower firmware version than 0x59.
+
+ error = __mms114_read_reg(data, MMS114_INFOMATION, packet_size,
+ (u8 *)touch);
+ if (error< 0)
+ goto out;
+
+ for (index = 0; index< touch_size; index++)
+ mms114_proc_mt(data, touch + index);
+
+ input_mt_report_pointer_emulation(data->input_dev, true);
+ input_sync(data->input_dev);
+
+out:
+ return IRQ_HANDLED;
+}
Thanks,
Henrik
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html