pctrie: avoid typecast

Have PCTRIE_RECLAIM_CALLBACK typecast one function pointer type to
another, to relieve the writer of the call back function from having
to cast its first argument from void* to member type.

Reviewed by:	rlibby
Differential Revision:	https://reviews.freebsd.org/D45586
This commit is contained in:
Doug Moore 2024-06-14 02:19:03 -05:00
parent fbff6d54da
commit 2a21cfe60f
3 changed files with 4 additions and 5 deletions

View file

@ -233,9 +233,8 @@ rangeset_remove(struct rangeset *rs, uint64_t start, uint64_t end)
}
static void
rangeset_remove_leaf(void *rv, void *rsv)
rangeset_remove_leaf(struct rs_el *r, void *rsv)
{
struct rs_el *r = rv;
struct rangeset *rs = rsv;
rs->rs_free_data(rs->rs_data_ctx, r);

View file

@ -226,9 +226,10 @@ name##_PCTRIE_RECLAIM(struct pctrie *ptree) \
*/ \
static __inline __unused void \
name##_PCTRIE_RECLAIM_CALLBACK(struct pctrie *ptree, \
pctrie_cb_t callback, void *arg) \
void (*typed_cb)(struct type *, void *), void *arg) \
{ \
struct pctrie_node *freenode, *node; \
pctrie_cb_t callback = (pctrie_cb_t)typed_cb; \
\
for (freenode = pctrie_reclaim_begin_cb(&node, ptree, \
callback, __offsetof(struct type, field), arg); \

View file

@ -2220,9 +2220,8 @@ swp_pager_meta_free(vm_object_t object, vm_pindex_t pindex, vm_pindex_t count,
}
static void
swp_pager_meta_free_block(void *sbv, void *rangev)
swp_pager_meta_free_block(struct swblk *sb, void *rangev)
{
struct swblk *sb = sbv;
struct page_range *range = rangev;
for (int i = 0; i < SWAP_META_PAGES; i++) {