In little endian cases, the macro htons unfolds to __swab16 which
provides special case for constants. In big endian cases,
__constant_htons and htons expand directly to the same expression.
So, replace __constant_htons with htons with the goal of getting
rid of the definition of __constant_htons completely.
The semantic patch that performs this transformation is as follows:
@@expression x;@@
- __constant_htons(x)
+ htons(x)
Signed-off-by: Vaishali Thakkar <[email protected]>
---
drivers/block/aoe/aoenet.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/block/aoe/aoenet.c b/drivers/block/aoe/aoenet.c
index 63773a9..78ff47a 100644
--- a/drivers/block/aoe/aoenet.c
+++ b/drivers/block/aoe/aoenet.c
@@ -192,7 +192,7 @@ exit:
}
static struct packet_type aoe_pt __read_mostly = {
- .type = __constant_htons(ETH_P_AOE),
+ .type = htons(ETH_P_AOE),
.func = aoenet_rcv,
};
--
1.9.1
OK. Thanks.
On 06/18/2015 11:23 PM, Vaishali Thakkar wrote:
> In little endian cases, the macro htons unfolds to __swab16 which
> provides special case for constants. In big endian cases,
> __constant_htons and htons expand directly to the same expression.
> So, replace __constant_htons with htons with the goal of getting
> rid of the definition of __constant_htons completely.
>
> The semantic patch that performs this transformation is as follows:
>
> @@expression x;@@
>
> - __constant_htons(x)
> + htons(x)
>
> Signed-off-by: Vaishali Thakkar <[email protected]>
> ---
> drivers/block/aoe/aoenet.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/aoe/aoenet.c b/drivers/block/aoe/aoenet.c
> index 63773a9..78ff47a 100644
> --- a/drivers/block/aoe/aoenet.c
> +++ b/drivers/block/aoe/aoenet.c
> @@ -192,7 +192,7 @@ exit:
> }
>
> static struct packet_type aoe_pt __read_mostly = {
> - .type = __constant_htons(ETH_P_AOE),
> + .type = htons(ETH_P_AOE),
> .func = aoenet_rcv,
> };
>