* [PATCH] Input: wacom: Use unaligned access where necessary
@ 2014-05-14 23:46 Jason Gerecke
2014-05-14 23:59 ` Dmitry Torokhov
0 siblings, 1 reply; 2+ messages in thread
From: Jason Gerecke @ 2014-05-14 23:46 UTC (permalink / raw)
To: linux-input, pingc, dmitry.torokhov; +Cc: Jason Gerecke
A few caes of incorrectly using 'le16_to_cpup' instead of
'get_unaligned_le16' have been noticed and fixed.
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
---
drivers/input/tablet/wacom_wac.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index 1c779a6..20ea522 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -988,12 +988,12 @@ static int wacom_24hdt_irq(struct wacom_wac *wacom)
input_mt_report_slot_state(input, MT_TOOL_FINGER, touch);
if (touch) {
- int t_x = le16_to_cpup((__le16 *)&data[offset + 2]);
- int c_x = le16_to_cpup((__le16 *)&data[offset + 4]);
- int t_y = le16_to_cpup((__le16 *)&data[offset + 6]);
- int c_y = le16_to_cpup((__le16 *)&data[offset + 8]);
- int w = le16_to_cpup((__le16 *)&data[offset + 10]);
- int h = le16_to_cpup((__le16 *)&data[offset + 12]);
+ int t_x = get_unaligned_le16(&data[offset + 2]);
+ int c_x = get_unaligned_le16(&data[offset + 4]);
+ int t_y = get_unaligned_le16(&data[offset + 6]);
+ int c_y = get_unaligned_le16(&data[offset + 8]);
+ int w = get_unaligned_le16(&data[offset + 10]);
+ int h = get_unaligned_le16(&data[offset + 12]);
input_report_abs(input, ABS_MT_POSITION_X, t_x);
input_report_abs(input, ABS_MT_POSITION_Y, t_y);
@@ -1038,7 +1038,7 @@ static int wacom_mt_touch(struct wacom_wac *wacom)
for (i = 0; i < contacts_to_send; i++) {
int offset = (WACOM_BYTES_PER_MT_PACKET + x_offset) * i + 3;
bool touch = data[offset] & 0x1;
- int id = le16_to_cpup((__le16 *)&data[offset + 1]);
+ int id = get_unaligned_le16(&data[offset + 1]);
int slot = input_mt_get_slot_by_key(input, id);
if (slot < 0)
@@ -1047,8 +1047,8 @@ static int wacom_mt_touch(struct wacom_wac *wacom)
input_mt_slot(input, slot);
input_mt_report_slot_state(input, MT_TOOL_FINGER, touch);
if (touch) {
- int x = le16_to_cpup((__le16 *)&data[offset + x_offset + 7]);
- int y = le16_to_cpup((__le16 *)&data[offset + x_offset + 9]);
+ int x = get_unaligned_le16(&data[offset + x_offset + 7]);
+ int y = get_unaligned_le16(&data[offset + x_offset + 9]);
input_report_abs(input, ABS_MT_POSITION_X, x);
input_report_abs(input, ABS_MT_POSITION_Y, y);
}
--
1.9.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Input: wacom: Use unaligned access where necessary
2014-05-14 23:46 [PATCH] Input: wacom: Use unaligned access where necessary Jason Gerecke
@ 2014-05-14 23:59 ` Dmitry Torokhov
0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2014-05-14 23:59 UTC (permalink / raw)
To: Jason Gerecke; +Cc: linux-input, pingc
On Wed, May 14, 2014 at 04:46:24PM -0700, Jason Gerecke wrote:
> A few caes of incorrectly using 'le16_to_cpup' instead of
> 'get_unaligned_le16' have been noticed and fixed.
>
> Signed-off-by: Jason Gerecke <killertofu@gmail.com>
Applied, thank you.
> ---
> drivers/input/tablet/wacom_wac.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
> index 1c779a6..20ea522 100644
> --- a/drivers/input/tablet/wacom_wac.c
> +++ b/drivers/input/tablet/wacom_wac.c
> @@ -988,12 +988,12 @@ static int wacom_24hdt_irq(struct wacom_wac *wacom)
> input_mt_report_slot_state(input, MT_TOOL_FINGER, touch);
>
> if (touch) {
> - int t_x = le16_to_cpup((__le16 *)&data[offset + 2]);
> - int c_x = le16_to_cpup((__le16 *)&data[offset + 4]);
> - int t_y = le16_to_cpup((__le16 *)&data[offset + 6]);
> - int c_y = le16_to_cpup((__le16 *)&data[offset + 8]);
> - int w = le16_to_cpup((__le16 *)&data[offset + 10]);
> - int h = le16_to_cpup((__le16 *)&data[offset + 12]);
> + int t_x = get_unaligned_le16(&data[offset + 2]);
> + int c_x = get_unaligned_le16(&data[offset + 4]);
> + int t_y = get_unaligned_le16(&data[offset + 6]);
> + int c_y = get_unaligned_le16(&data[offset + 8]);
> + int w = get_unaligned_le16(&data[offset + 10]);
> + int h = get_unaligned_le16(&data[offset + 12]);
>
> input_report_abs(input, ABS_MT_POSITION_X, t_x);
> input_report_abs(input, ABS_MT_POSITION_Y, t_y);
> @@ -1038,7 +1038,7 @@ static int wacom_mt_touch(struct wacom_wac *wacom)
> for (i = 0; i < contacts_to_send; i++) {
> int offset = (WACOM_BYTES_PER_MT_PACKET + x_offset) * i + 3;
> bool touch = data[offset] & 0x1;
> - int id = le16_to_cpup((__le16 *)&data[offset + 1]);
> + int id = get_unaligned_le16(&data[offset + 1]);
> int slot = input_mt_get_slot_by_key(input, id);
>
> if (slot < 0)
> @@ -1047,8 +1047,8 @@ static int wacom_mt_touch(struct wacom_wac *wacom)
> input_mt_slot(input, slot);
> input_mt_report_slot_state(input, MT_TOOL_FINGER, touch);
> if (touch) {
> - int x = le16_to_cpup((__le16 *)&data[offset + x_offset + 7]);
> - int y = le16_to_cpup((__le16 *)&data[offset + x_offset + 9]);
> + int x = get_unaligned_le16(&data[offset + x_offset + 7]);
> + int y = get_unaligned_le16(&data[offset + x_offset + 9]);
> input_report_abs(input, ABS_MT_POSITION_X, x);
> input_report_abs(input, ABS_MT_POSITION_Y, y);
> }
> --
> 1.9.2
>
--
Dmitry
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-05-14 23:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-14 23:46 [PATCH] Input: wacom: Use unaligned access where necessary Jason Gerecke
2014-05-14 23:59 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).