Input: atmel_mxt_ts - refactor reportid checking in mxt_interrupt
authorDaniel Kurtz <djkurtz@chromium.org>
Thu, 28 Jun 2012 13:08:21 +0000 (21:08 +0800)
committerHenrik Rydberg <rydberg@euromail.se>
Fri, 29 Jun 2012 13:58:06 +0000 (15:58 +0200)
This small refactor is in preparation for checking more report types
in the mxt_interrupt message processing loop.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
drivers/input/touchscreen/atmel_mxt_ts.c

index 48f3637aecaaf60a83a11e9c084030d5860e8646..a9e0b541c638253183e6b3eea3ec8f5772d97400 100644 (file)
@@ -554,6 +554,12 @@ static void mxt_input_touchevent(struct mxt_data *data,
        input_sync(input_dev);
 }
 
+static bool mxt_is_T9_message(struct mxt_data *data, struct mxt_message *msg)
+{
+       u8 id = msg->reportid;
+       return (id >= data->T9_reportid_min && id <= data->T9_reportid_max);
+}
+
 static irqreturn_t mxt_interrupt(int irq, void *dev_id)
 {
        struct mxt_data *data = dev_id;
@@ -561,8 +567,6 @@ static irqreturn_t mxt_interrupt(int irq, void *dev_id)
        struct device *dev = &data->client->dev;
        int id;
        u8 reportid;
-       u8 max_reportid;
-       u8 min_reportid;
 
        do {
                if (mxt_read_message(data, &message)) {
@@ -572,11 +576,9 @@ static irqreturn_t mxt_interrupt(int irq, void *dev_id)
 
                reportid = message.reportid;
 
-               max_reportid = data->T9_reportid_max;
-               min_reportid = data->T9_reportid_min;
-               id = reportid - min_reportid;
+               id = reportid - data->T9_reportid_min;
 
-               if (reportid >= min_reportid && reportid <= max_reportid)
+               if (mxt_is_T9_message(data, &message))
                        mxt_input_touchevent(data, &message, id);
                else
                        mxt_dump_message(dev, &message);