Re: [Outreachy kernel] [PATCH] :staging: rtl8723bs: Remove useless led_blink_hdl()

From: Matthew Wilcox
Date: Tue Apr 13 2021 - 15:49:20 EST


On Tue, Apr 13, 2021 at 09:45:03PM +0200, Fabio M. De Francesco wrote:
> 1) The driver doesn't call that function from anywhere else than the macro.
> 2) You have explained that the macro add its symbol to a slot in an array
> that would shift all the subsequent elements down if that macro is not used
> exactly in the line where it is.
> 3) Dan Carpenter said that that array is full of null functions (or empty
> slots?).
>
> Unless that function is called anonymously dereferencing its address from
> the position it occupies in the array, I'm not able to see what else means
> can any caller use.
>
> I know I have much less experience than you with C: what can go wrong?

Here's where the driver calls that function:

$ git grep wlancmds drivers/staging/rtl8723bs/
drivers/staging/rtl8723bs/core/rtw_cmd.c:static struct cmd_hdl wlancmds[] = {
drivers/staging/rtl8723bs/core/rtw_cmd.c: if (pcmd->cmdcode < ARRAY_SIZE(wlancmds)) {
drivers/staging/rtl8723bs/core/rtw_cmd.c: cmd_hdl = wlancmds[pcmd->cmdcode].h2cfuns;