Re: [PATCH v2 1/5] staging: rtl8192e: Remove variable SetWirelessMode

From: Philipp Hortmann
Date: Thu Jun 08 2023 - 08:43:45 EST


On 6/8/23 11:59, Yogesh Hegde wrote:
On Wed, Jun 07, 2023 at 10:18:28PM +0200, Philipp Hortmann wrote:
My compiler does not compile this patch:
LD [M] drivers/staging/rtl8192e/rtl8192e/r8192e_pci.o
MODPOST drivers/staging/rtl8192e/Module.symvers
ERROR: modpost: "rtl92e_set_wireless_mode"
[drivers/staging/rtl8192e/rtllib.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:136:
drivers/staging/rtl8192e/Module.symvers] Error 1
make: *** [Makefile:1978: modpost] Error 2

Did this compile on your system Yogesh?
No, while sending the patch I partially compiled it
`make drivers/staging/rtl8192e` but when I fully compile it `make all` it gives
me the same error. It is a mistake on my part.
To build one module you need to use:
make -C . M=drivers/staging/rtl8192e


But I think it does not work because this driver is divided into two
modules.

To load the driver I am using the following lines:
sudo insmod drivers/staging/rtl8192e/rtllib.ko
sudo insmod drivers/staging/rtl8192e/rtl8192e/r8192e_pci.ko
I was not aware of this and assumed that ideally the driver has only one (PCI)
interface so all the files should be compiled into one `.ko` file and loaded.

So this line is required:
priv->rtllib->SetWirelessMode = rtl92e_set_wireless_mode;
as one name is used in one module and one in the other module.
Yes, this makes sense now.

Moving forward,
Dan, Greg and Philipp what would be the best fix for this issue,
1. Patchset to combine both the modules into one module
I had a look for this and it was not difficult at all to combine. But a patch long ago divided the two modules, to make it more like the driver this one should be merged to, in the wireless subsystem. Please see TODO file.

2. Revert back this patchset to v1.

Looking forward for your response.

Regards
Yogesh

Bye Philipp