[PATCH 3/3] staging: rtl8723bs: replace SIZE_PTR with uintptr_t and remove definition

From: Ashmit Kumar

Date: Sun Oct 18 2026 - 12:46:17 EST


The driver defines a custom macro SIZE_PTR as __kernel_size_t, which is
used when casting pointer values to integers to calculate alignment
offsets.

Replace the remaining casts of pointers to integers in rtl8723bs_recv.c
and sdio_ops.c with uintptr_t, use size_t for the alignment variable,
and remove the SIZE_PTR macro definition from basic_types.h.

Signed-off-by: Ashmit Kumar <work.ashmitkumar@xxxxxxxxx>
---
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c | 11 ++++++-----
drivers/staging/rtl8723bs/hal/sdio_ops.c | 6 +++---
drivers/staging/rtl8723bs/include/basic_types.h | 2 --
3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
index a62b845c69f9..f3f9c2699c68 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
@@ -295,7 +295,8 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t)

pkt_copy->dev = padapter->pnetdev;
precvframe->u.hdr.pkt = pkt_copy;
- skb_reserve(pkt_copy, 8 - ((SIZE_PTR)(pkt_copy->data) & 7));/* force pkt_copy->data at 8-byte alignment address */
+ /* force pkt_copy->data at 8-byte alignment address */
+ skb_reserve(pkt_copy, 8 - ((uintptr_t)(pkt_copy->data) & 7));
skb_reserve(pkt_copy, shift_sz);/* force ip_hdr at 8-byte alignment address according to shift_sz. */
memcpy(pkt_copy->data, (ptr + rx_report_sz + pattrib->shift_sz), skb_len);
precvframe->u.hdr.rx_head = pkt_copy->head;
@@ -390,15 +391,15 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
initrecvbuf(precvbuf, padapter);

if (!precvbuf->pskb) {
- SIZE_PTR tmpaddr = 0;
- SIZE_PTR alignment = 0;
+ uintptr_t tmpaddr = 0;
+ size_t alignment = 0;

precvbuf->pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_ATOMIC);
if (precvbuf->pskb) {
precvbuf->pskb->dev = padapter->pnetdev;

- tmpaddr = (SIZE_PTR)precvbuf->pskb->data;
- alignment = tmpaddr & (RECVBUFF_ALIGN_SZ-1);
+ tmpaddr = (uintptr_t)precvbuf->pskb->data;
+ alignment = tmpaddr & (RECVBUFF_ALIGN_SZ - 1);
skb_reserve(precvbuf->pskb, (RECVBUFF_ALIGN_SZ - alignment));
}
}
diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c
index c12f670922d5..9cc5c651f35a 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_ops.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c
@@ -653,8 +653,8 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)

/* 3 2. alloc skb */
if (!recvbuf->pskb) {
- SIZE_PTR tmpaddr = 0;
- SIZE_PTR alignment = 0;
+ uintptr_t tmpaddr = 0;
+ size_t alignment = 0;

recvbuf->pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_ATOMIC);
if (!recvbuf->pskb)
@@ -662,7 +662,7 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)

recvbuf->pskb->dev = adapter->pnetdev;

- tmpaddr = (SIZE_PTR)recvbuf->pskb->data;
+ tmpaddr = (uintptr_t)recvbuf->pskb->data;
alignment = tmpaddr & (RECVBUFF_ALIGN_SZ - 1);
skb_reserve(recvbuf->pskb, (RECVBUFF_ALIGN_SZ - alignment));
}
diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h
index d2436459cff6..c3947e61ec22 100644
--- a/drivers/staging/rtl8723bs/include/basic_types.h
+++ b/drivers/staging/rtl8723bs/include/basic_types.h
@@ -13,8 +13,6 @@
#include <linux/types.h>
#include <linux/stddef.h>

-#define SIZE_PTR __kernel_size_t
-
/* port from fw by thomas */
/* TODO: Belows are Sync from SD7-Driver. It is necessary to check correctness */

--
2.43.0