diff options
| author | Johannes Berg <johannes.berg@intel.com> | 2017-06-16 08:29:23 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2017-06-16 11:48:40 -0400 |
| commit | d58ff35122847a83ba55394e2ae3a1527b6febf5 (patch) | |
| tree | e1ecf758e86519922c403f1aa88f19ef25a554ad /drivers/firewire/net.c | |
| parent | af72868b9070d1b843c829f0d0d0b22c04a20815 (diff) | |
networking: make skb_push & __skb_push return void pointers
It seems like a historic accident that these return unsigned char *,
and in many places that means casts are required, more often than not.
Make these functions return void * and remove all the casts across
the tree, adding a (u8 *) cast only where the unsigned char pointer
was used directly, all done with the following spatch:
@@
expression SKB, LEN;
typedef u8;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
@@
- *(fn(SKB, LEN))
+ *(u8 *)fn(SKB, LEN)
@@
expression E, SKB, LEN;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
type T;
@@
- E = ((T *)(fn(SKB, LEN)))
+ E = fn(SKB, LEN)
@@
expression SKB, LEN;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
@@
- fn(SKB, LEN)[0]
+ *(u8 *)fn(SKB, LEN)
Note that the last part there converts from push(...)[0] to the
more idiomatic *(u8 *)push(...).
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/firewire/net.c')
| -rw-r--r-- | drivers/firewire/net.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c index d5040bbd34e8..242359c2d1f1 100644 --- a/drivers/firewire/net.c +++ b/drivers/firewire/net.c | |||
| @@ -219,7 +219,7 @@ static int fwnet_header_create(struct sk_buff *skb, struct net_device *net, | |||
| 219 | { | 219 | { |
| 220 | struct fwnet_header *h; | 220 | struct fwnet_header *h; |
| 221 | 221 | ||
| 222 | h = (struct fwnet_header *)skb_push(skb, sizeof(*h)); | 222 | h = skb_push(skb, sizeof(*h)); |
| 223 | put_unaligned_be16(type, &h->h_proto); | 223 | put_unaligned_be16(type, &h->h_proto); |
| 224 | 224 | ||
| 225 | if (net->flags & (IFF_LOOPBACK | IFF_NOARP)) { | 225 | if (net->flags & (IFF_LOOPBACK | IFF_NOARP)) { |
| @@ -961,16 +961,14 @@ static int fwnet_send_packet(struct fwnet_packet_task *ptask) | |||
| 961 | tx_len = ptask->max_payload; | 961 | tx_len = ptask->max_payload; |
| 962 | switch (fwnet_get_hdr_lf(&ptask->hdr)) { | 962 | switch (fwnet_get_hdr_lf(&ptask->hdr)) { |
| 963 | case RFC2374_HDR_UNFRAG: | 963 | case RFC2374_HDR_UNFRAG: |
| 964 | bufhdr = (struct rfc2734_header *) | 964 | bufhdr = skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE); |
| 965 | skb_push(ptask->skb, RFC2374_UNFRAG_HDR_SIZE); | ||
| 966 | put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); | 965 | put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); |
| 967 | break; | 966 | break; |
| 968 | 967 | ||
| 969 | case RFC2374_HDR_FIRSTFRAG: | 968 | case RFC2374_HDR_FIRSTFRAG: |
| 970 | case RFC2374_HDR_INTFRAG: | 969 | case RFC2374_HDR_INTFRAG: |
| 971 | case RFC2374_HDR_LASTFRAG: | 970 | case RFC2374_HDR_LASTFRAG: |
| 972 | bufhdr = (struct rfc2734_header *) | 971 | bufhdr = skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE); |
| 973 | skb_push(ptask->skb, RFC2374_FRAG_HDR_SIZE); | ||
| 974 | put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); | 972 | put_unaligned_be32(ptask->hdr.w0, &bufhdr->w0); |
| 975 | put_unaligned_be32(ptask->hdr.w1, &bufhdr->w1); | 973 | put_unaligned_be32(ptask->hdr.w1, &bufhdr->w1); |
| 976 | break; | 974 | break; |
