Re: [PATCH] staging: octeon: Use new initialization api for tasklet
From: Abhishek Tamboli
Date: Thu Sep 12 2024 - 22:11:34 EST
Hi Ricardo,
>
> This fails to compile for me:
>
> In file included from ./include/linux/kernel_stat.h:8,
> from ./include/linux/cgroup.h:25,
> from ./include/net/netprio_cgroup.h:11,
> from ./include/linux/netdevice.h:42,
> from drivers/staging/octeon/ethernet-tx.c:10:
> drivers/staging/octeon/ethernet-tx.c:44:52: error: initialization of ‘void (*)(struct tasklet_struct *)’ from incompatible pointer type ‘void (*)(struct tasklet_struct)’ [-Wincompatible-pointer-types]
> 44 | static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup);
> | ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/interrupt.h:665:21: note: in definition of macro ‘DECLARE_TASKLET’
> 665 | .callback = _callback, \
> | ^~~~~~~~~
> drivers/staging/octeon/ethernet-tx.c:44:52: note: (near initialization for ‘cvm_oct_tx_cleanup_tasklet.<anonymous>.callback’)
> 44 | static DECLARE_TASKLET(cvm_oct_tx_cleanup_tasklet, cvm_oct_tx_do_cleanup);
> | ^~~~~~~~~~~~~~~~~~~~~
> ./include/linux/interrupt.h:665:21: note: in definition of macro ‘DECLARE_TASKLET’
> 665 | .callback = _callback, \
> | ^~~~~~~~~
> CC mm/memfd.o
> CC fs/proc/fd.o
> CC fs/jbd2/transaction.o
> CC drivers/firmware/efi/libstub/gop.o
> make[5]: *** [scripts/Makefile.build:244: drivers/staging/octeon/ethernet-tx.o] Error 1
> make[4]: *** [scripts/Makefile.build:485: drivers/staging/octeon] Error 2
> make[3]: *** [scripts/Makefile.build:485: drivers/staging] Error 2
Thank you for pointing out the issue. I’ll be more cautious to
avoid such issues in the future and will resubmit the patch.
Regards,
Abhishek