On Wednesday, April 14, 2021 2:18:13 PM CEST Greg Kroah-Hartman wrote: > On Wed, Apr 14, 2021 at 01:52:43PM +0200, Fabio M. De Francesco wrote: > > Removed the led_blink_hdl() function (declaration and definition). > > Declared dummy_function() in include/rtw_mlme_ext.h and defined it in > > core/rtw_cmd.c. Changed the second parameter of GEN_MLME_EXT_HANDLER > > macro to make use of dummy_function(). > > No no no. > > If you want to remove is function declaration and use, then do it > properly. > > The code is crazy, I agree, but it should not be difficult to just > remove this correctly instead of papering over this mess. > > Also note that no one actually calls this function if you look at the > logic here. > > It might take some good knowledge of C to unwind this crud, > but once done, you should be able to "prove" it's not called > Proving that no one actually calls it it's beyond my current knowledge of programming with C. Matthew W., who is for sure more experienced than I am , wrote that that function pointer in the array is used somewhere else. Copied and pasted here from his message: "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; > > and how to > remove it correctly. > I think that doing it correctly depends on the "prove" which you requested. Doesn't it? > > And no, I'm not going to say how to do it, that's an exercise best left > for the reader. > It sounds perfectly reasonable and I agree in full. > > But I will hint that this was done in the past, in > 2014, in another driver in the tree with a codebase much like this one, > so it shouldn't be hard to find an example of it. Only took me a few > minutes... > I'm sure it took you only a few minutes. If this can be accomplished by using grep on git log output I need some time to read this command manual again. I suppose that the search should be made by combining "remove", "function", "drivers/staging", and "2014". At the moment I don't know how to do that. Notwithstanding I have said all that you read above, you can be sure that I won't give up so easily even if it will take days :) > > good luck! > Thanks, Fabio > > greg k-h