Thread (8 messages) 8 messages, 2 authors, 2011-04-01

Re: [PATCH 2/4] Input: atmel_mxt_ts - Support 12bit resolution

From: Iiro Valkonen <hidden>
Date: 2011-04-01 13:39:54

On 04/01/2011 01:25 PM, Joonyoung Shim wrote:
On 2011-04-01 오후 6:58, Iiro Valkonen wrote:
quoted
Hi,

On 04/01/2011 09:10 AM, Joonyoung Shim wrote:
quoted
quoted
quoted
@@ -837,6 +847,17 @@ static int mxt_initialize(struct mxt_data *data)
          return 0;
   }

+static void mxt_calc_resolution(struct mxt_data *data)
+{
+       if (data->pdata->orient&   MXT_XY_SWITCH) {
+               data->x_size = data->pdata->y_size;
+               data->y_size = data->pdata->x_size;
+       } else {
+               data->x_size = data->pdata->x_size;
+               data->y_size = data->pdata->y_size;
+       }
+}
+
What's the reason for this? If we have set the x/y switch in the config, then
we probably want to swap the axes. Or is this axis swap something that should be
done on upper layers? Even so, then we shouldn't have the MXT_XY_SWITCH bit set
in the config, and we could just say "data->x_max_value = data->pdata->xsize - 1"
(and same for y) in the probe function. We wouldn't need Touch orient bit defines
either.
If we set XY_SWITCH for special purpose then the axis is swapped and
driver will report also coordinates out of max value.
Right, of course.
I mean it is the reason to add above codes, i think driver should
consider a case MXT_XY_SWITCH is setted.
Yes, I agree, the above code is fine. I was thinking that the x & y resolution
would also get swapped. But that's not the case, and this mxt_calc_resolution
function is correct the way you originally wrote it.

BR,

-- 
Iiro
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help