networking: make skb_put & friends 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 (skb_put, __skb_put and pskb_put) 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_put, __skb_put }; @@ - *(fn(SKB, LEN)) + *(u8 *)fn(SKB, LEN) @@ expression E, SKB, LEN; identifier fn = { skb_put, __skb_put }; type T; @@ - E = ((T *)(fn(SKB, LEN))) + E = fn(SKB, LEN) which actually doesn't cover pskb_put since there are only three users overall. A handful of stragglers were converted manually, notably a macro in drivers/isdn/i4l/isdn_bsdcomp.c and, oddly enough, one of the many instances in net/bluetooth/hci_sock.c. In the former file, I also had to fix one whitespace problem spatch introduced. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
59ae1d127a
commit
4df864c1d9
@@ -266,8 +266,8 @@ static int digital_in_send_rats(struct nfc_digital_dev *ddev,
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
|
||||
*skb_put(skb, 1) = DIGITAL_RATS_BYTE1;
|
||||
*skb_put(skb, 1) = DIGITAL_RATS_PARAM;
|
||||
*(u8 *)skb_put(skb, 1) = DIGITAL_RATS_BYTE1;
|
||||
*(u8 *)skb_put(skb, 1) = DIGITAL_RATS_PARAM;
|
||||
|
||||
rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_ats,
|
||||
target);
|
||||
@@ -470,8 +470,8 @@ static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
|
||||
else
|
||||
sel_cmd = DIGITAL_CMD_SEL_REQ_CL3;
|
||||
|
||||
*skb_put(skb, sizeof(u8)) = sel_cmd;
|
||||
*skb_put(skb, sizeof(u8)) = DIGITAL_SDD_REQ_SEL_PAR;
|
||||
*(u8 *)skb_put(skb, sizeof(u8)) = sel_cmd;
|
||||
*(u8 *)skb_put(skb, sizeof(u8)) = DIGITAL_SDD_REQ_SEL_PAR;
|
||||
|
||||
return digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res,
|
||||
target);
|
||||
@@ -541,7 +541,7 @@ int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech)
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
|
||||
*skb_put(skb, sizeof(u8)) = DIGITAL_CMD_SENS_REQ;
|
||||
*(u8 *)skb_put(skb, sizeof(u8)) = DIGITAL_CMD_SENS_REQ;
|
||||
|
||||
rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sens_res, NULL);
|
||||
if (rc)
|
||||
@@ -625,8 +625,7 @@ static int digital_in_send_attrib_req(struct nfc_digital_dev *ddev,
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
|
||||
attrib_req = (struct digital_attrib_req *)skb_put(skb,
|
||||
sizeof(*attrib_req));
|
||||
attrib_req = skb_put(skb, sizeof(*attrib_req));
|
||||
|
||||
attrib_req->cmd = DIGITAL_CMD_ATTRIB_REQ;
|
||||
memcpy(attrib_req->nfcid0, sensb_res->nfcid0,
|
||||
@@ -730,8 +729,7 @@ int digital_in_send_sensb_req(struct nfc_digital_dev *ddev, u8 rf_tech)
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
|
||||
sensb_req = (struct digital_sensb_req *)skb_put(skb,
|
||||
sizeof(*sensb_req));
|
||||
sensb_req = skb_put(skb, sizeof(*sensb_req));
|
||||
|
||||
sensb_req->cmd = DIGITAL_CMD_SENSB_REQ;
|
||||
sensb_req->afi = 0x00; /* All families and sub-families */
|
||||
@@ -939,7 +937,7 @@ static int digital_tg_send_sel_res(struct nfc_digital_dev *ddev)
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
|
||||
*skb_put(skb, 1) = DIGITAL_SEL_RES_NFC_DEP;
|
||||
*(u8 *)skb_put(skb, 1) = DIGITAL_SEL_RES_NFC_DEP;
|
||||
|
||||
if (!DIGITAL_DRV_CAPS_TG_CRC(ddev))
|
||||
digital_skb_add_crc_a(skb);
|
||||
|
Reference in New Issue
Block a user