* [PATCH v3] NFC: port100: Introduce the use of function put_unaligned_le16
@ 2014-12-24 13:15 Vaishali Thakkar
2014-12-28 11:33 ` Vaishali Thakkar
0 siblings, 1 reply; 4+ messages in thread
From: Vaishali Thakkar @ 2014-12-24 13:15 UTC (permalink / raw)
To: linux-wireless
Cc: lauro.venancio, aloisio.almeida, sameo, linux-kernel,
johannes.berg, arend
This patch introduces the use of function put_unaligned_le16.
This is done using Coccinelle and semantic patch used is as follows:
@a@
typedef u16, __le16;
{u16,__le16} e16;
identifier tmp;
expression ptr;
expression y,e;
type T;
@@
- tmp = cpu_to_le16(y);
<+... when != tmp
(
- memcpy(ptr, (T)&tmp, \(2\|sizeof(u16)\|sizeof(__le16)\|sizeof(e16)\));
+ put_unaligned_le16(y,ptr);
|
- memcpy(ptr, (T)&tmp, ...);
+ put_unaligned_le16(y,ptr);
)
...+>
? tmp = e
@@ type T; identifier a.tmp; @@
- T tmp;
...when != tmp
Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
---
Changes since v1:
<asm/unaligned.h> has arch-specific knowlege of which of
the implementations needs to be used. So, include it instaed
of <linux/unaligned/access_ok.h>.
Changes since v2:
Fix typing mistake in subject
drivers/nfc/port100.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/nfc/port100.c b/drivers/nfc/port100.c
index 4ac4d31..440f0f3 100644
--- a/drivers/nfc/port100.c
+++ b/drivers/nfc/port100.c
@@ -18,6 +18,7 @@
#include <linux/module.h>
#include <linux/usb.h>
#include <net/nfc/digital.h>
+#include <asm/unaligned.h>
#define VERSION "0.1"
@@ -1136,7 +1137,6 @@ static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
{
struct port100 *dev = nfc_digital_get_drvdata(ddev);
struct port100_cb_arg *cb_arg;
- __le16 timeout;
cb_arg = kzalloc(sizeof(struct port100_cb_arg), GFP_KERNEL);
if (!cb_arg)
@@ -1145,9 +1145,7 @@ static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
cb_arg->complete_cb = cb;
cb_arg->complete_arg = arg;
- timeout = cpu_to_le16(_timeout * 10);
-
- memcpy(skb_push(skb, sizeof(__le16)), &timeout, sizeof(__le16));
+ put_unaligned_le16(_timeout * 10, skb_push(skb, sizeof(__le16)));
return port100_send_cmd_async(dev, PORT100_CMD_IN_COMM_RF, skb,
port100_in_comm_rf_complete, cb_arg);
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v3] NFC: port100: Introduce the use of function put_unaligned_le16
2014-12-24 13:15 [PATCH v3] NFC: port100: Introduce the use of function put_unaligned_le16 Vaishali Thakkar
@ 2014-12-28 11:33 ` Vaishali Thakkar
2014-12-28 15:16 ` Arend van Spriel
0 siblings, 1 reply; 4+ messages in thread
From: Vaishali Thakkar @ 2014-12-28 11:33 UTC (permalink / raw)
To: linux-wireless
On Wed, Dec 24, 2014 at 6:45 PM, Vaishali Thakkar
<vthakkar1994@gmail.com> wrote:
> This patch introduces the use of function put_unaligned_le16.
>
> This is done using Coccinelle and semantic patch used is as follows:
>
> @a@
> typedef u16, __le16;
> {u16,__le16} e16;
> identifier tmp;
> expression ptr;
> expression y,e;
> type T;
> @@
>
> - tmp = cpu_to_le16(y);
>
> <+... when != tmp
> (
> - memcpy(ptr, (T)&tmp, \(2\|sizeof(u16)\|sizeof(__le16)\|sizeof(e16)\));
> + put_unaligned_le16(y,ptr);
> |
> - memcpy(ptr, (T)&tmp, ...);
> + put_unaligned_le16(y,ptr);
> )
> ...+>
> ? tmp = e
>
> @@ type T; identifier a.tmp; @@
>
> - T tmp;
> ...when != tmp
>
> Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
> ---
> Changes since v1:
> <asm/unaligned.h> has arch-specific knowlege of which of
> the implementations needs to be used. So, include it instaed
> of <linux/unaligned/access_ok.h>.
> Changes since v2:
> Fix typing mistake in subject
>
> drivers/nfc/port100.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/nfc/port100.c b/drivers/nfc/port100.c
> index 4ac4d31..440f0f3 100644
> --- a/drivers/nfc/port100.c
> +++ b/drivers/nfc/port100.c
> @@ -18,6 +18,7 @@
> #include <linux/module.h>
> #include <linux/usb.h>
> #include <net/nfc/digital.h>
> +#include <asm/unaligned.h>
>
> #define VERSION "0.1"
>
> @@ -1136,7 +1137,6 @@ static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
> {
> struct port100 *dev = nfc_digital_get_drvdata(ddev);
> struct port100_cb_arg *cb_arg;
> - __le16 timeout;
>
> cb_arg = kzalloc(sizeof(struct port100_cb_arg), GFP_KERNEL);
> if (!cb_arg)
> @@ -1145,9 +1145,7 @@ static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
> cb_arg->complete_cb = cb;
> cb_arg->complete_arg = arg;
>
> - timeout = cpu_to_le16(_timeout * 10);
> -
> - memcpy(skb_push(skb, sizeof(__le16)), &timeout, sizeof(__le16));
> + put_unaligned_le16(_timeout * 10, skb_push(skb, sizeof(__le16)));
>
> return port100_send_cmd_async(dev, PORT100_CMD_IN_COMM_RF, skb,
> port100_in_comm_rf_complete, cb_arg);
> --
> 1.9.1
>
Hello...Can someone please review my patch so that I can have idea
about I am on a right way or not??
I think this is missed by developers.
Thank You.
--
Vaishali
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v3] NFC: port100: Introduce the use of function put_unaligned_le16
2014-12-28 11:33 ` Vaishali Thakkar
@ 2014-12-28 15:16 ` Arend van Spriel
[not found] ` <CAK-LDb+saP+1fXmOqmiKzBmBR2Bh-o0kdomkRBHY4uJG5DoemA@mail.gmail.com>
0 siblings, 1 reply; 4+ messages in thread
From: Arend van Spriel @ 2014-12-28 15:16 UTC (permalink / raw)
To: Vaishali Thakkar; +Cc: linux-wireless, Samuel Ortiz
+ Samuel
On 12/28/14 12:33, Vaishali Thakkar wrote:
> On Wed, Dec 24, 2014 at 6:45 PM, Vaishali Thakkar
> <vthakkar1994@gmail.com> wrote:
>> This patch introduces the use of function put_unaligned_le16.
>>
>> This is done using Coccinelle and semantic patch used is as follows:
>>
>> @a@
>> typedef u16, __le16;
>> {u16,__le16} e16;
>> identifier tmp;
>> expression ptr;
>> expression y,e;
>> type T;
>> @@
>>
>> - tmp = cpu_to_le16(y);
>>
>> <+... when != tmp
>> (
>> - memcpy(ptr, (T)&tmp, \(2\|sizeof(u16)\|sizeof(__le16)\|sizeof(e16)\));
>> + put_unaligned_le16(y,ptr);
>> |
>> - memcpy(ptr, (T)&tmp, ...);
>> + put_unaligned_le16(y,ptr);
>> )
>> ...+>
>> ? tmp = e
>>
>> @@ type T; identifier a.tmp; @@
>>
>> - T tmp;
>> ...when != tmp
>>
>> Signed-off-by: Vaishali Thakkar<vthakkar1994@gmail.com>
>> ---
>> Changes since v1:
>> <asm/unaligned.h> has arch-specific knowlege of which of
>> the implementations needs to be used. So, include it instaed
>> of<linux/unaligned/access_ok.h>.
>> Changes since v2:
>> Fix typing mistake in subject
>>
>> drivers/nfc/port100.c | 6 ++----
>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/nfc/port100.c b/drivers/nfc/port100.c
>> index 4ac4d31..440f0f3 100644
>> --- a/drivers/nfc/port100.c
>> +++ b/drivers/nfc/port100.c
>> @@ -18,6 +18,7 @@
>> #include<linux/module.h>
>> #include<linux/usb.h>
>> #include<net/nfc/digital.h>
>> +#include<asm/unaligned.h>
>>
>> #define VERSION "0.1"
>>
>> @@ -1136,7 +1137,6 @@ static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
>> {
>> struct port100 *dev = nfc_digital_get_drvdata(ddev);
>> struct port100_cb_arg *cb_arg;
>> - __le16 timeout;
>>
>> cb_arg = kzalloc(sizeof(struct port100_cb_arg), GFP_KERNEL);
>> if (!cb_arg)
>> @@ -1145,9 +1145,7 @@ static int port100_in_send_cmd(struct nfc_digital_dev *ddev,
>> cb_arg->complete_cb = cb;
>> cb_arg->complete_arg = arg;
>>
>> - timeout = cpu_to_le16(_timeout * 10);
>> -
>> - memcpy(skb_push(skb, sizeof(__le16)),&timeout, sizeof(__le16));
>> + put_unaligned_le16(_timeout * 10, skb_push(skb, sizeof(__le16)));
>>
>> return port100_send_cmd_async(dev, PORT100_CMD_IN_COMM_RF, skb,
>> port100_in_comm_rf_complete, cb_arg);
>> --
>> 1.9.1
>>
>
> Hello...Can someone please review my patch so that I can have idea
> about I am on a right way or not??
> I think this is missed by developers.
Generally that's not how it works. You either get comments or not. It
may also help to send the patch to the maintainer, ie. Samuel Ortiz.
Regards,
Arend
> Thank You.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-12-28 21:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-24 13:15 [PATCH v3] NFC: port100: Introduce the use of function put_unaligned_le16 Vaishali Thakkar
2014-12-28 11:33 ` Vaishali Thakkar
2014-12-28 15:16 ` Arend van Spriel
[not found] ` <CAK-LDb+saP+1fXmOqmiKzBmBR2Bh-o0kdomkRBHY4uJG5DoemA@mail.gmail.com>
2014-12-28 21:55 ` Arend van Spriel
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).