Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On 2019/10/14 18:06, Jerome Pouiller wrote: > On Monday 14 October 2019 11:53:19 CEST Jérôme Pouiller wrote: > [...] >> Hello Zhong, >> >> Now, I see the problem. It happens when CONFIG_MMC=m and CONFIG_WFX=y >> (if CONFIG_WFX=m, it works). >> >> I think the easiest way to solve problem is to disallow CONFIG_WFX=y if >> CONFIG_MMC=m. >> >> This solution impacts users who want to use SPI bus with configuration: >> CONFIG_WFX=y + CONFIG_SPI=y + CONFIG_MMC=m. However, I think this is a >> twisted case. So, I think it won't be missed. >> >> I think that patch below do the right thing: >> >> -8<--8<--8<- >> >> diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig >> index 9b8a1c7a9e90..833f3b05b6b4 100644 >> --- i/drivers/staging/wfx/Kconfig >> +++ w/drivers/staging/wfx/Kconfig >> @@ -1,7 +1,7 @@ >> config WFX >> tristate "Silicon Labs wireless chips WF200 and further" >> depends on MAC80211 >> - depends on (SPI || MMC) >> + depends on (MMC=m && m) || MMC=y || (SPI && MMC!=m) >> help >> This is a driver for Silicons Labs WFxxx series (WF200 and further) >> chipsets. This chip can be found on SPI or SDIO buses. >> >> >> > An alternative (more understandable?): > > diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig > index 9b8a1c7a9e90..83ee4d0ca8c6 100644 > --- i/drivers/staging/wfx/Kconfig > +++ w/drivers/staging/wfx/Kconfig > @@ -1,6 +1,7 @@ > config WFX > tristate "Silicon Labs wireless chips WF200 and further" > depends on MAC80211 > + depends on MMC || !MMC # do not allow WFX=y if MMC=m > depends on (SPI || MMC) > help > This is a driver for Silicons Labs WFxxx series (WF200 and further) > > Hi, Jerome It's better to understandable. Could you send the patch or want to repost by me? Thanks, zhong jiang
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On 2019/10/14 18:06, Jerome Pouiller wrote: > On Monday 14 October 2019 11:53:19 CEST Jérôme Pouiller wrote: > [...] >> Hello Zhong, >> >> Now, I see the problem. It happens when CONFIG_MMC=m and CONFIG_WFX=y >> (if CONFIG_WFX=m, it works). >> >> I think the easiest way to solve problem is to disallow CONFIG_WFX=y if >> CONFIG_MMC=m. >> >> This solution impacts users who want to use SPI bus with configuration: >> CONFIG_WFX=y + CONFIG_SPI=y + CONFIG_MMC=m. However, I think this is a >> twisted case. So, I think it won't be missed. >> >> I think that patch below do the right thing: >> >> -8<--8<--8<- >> >> diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig >> index 9b8a1c7a9e90..833f3b05b6b4 100644 >> --- i/drivers/staging/wfx/Kconfig >> +++ w/drivers/staging/wfx/Kconfig >> @@ -1,7 +1,7 @@ >> config WFX >> tristate "Silicon Labs wireless chips WF200 and further" >> depends on MAC80211 >> - depends on (SPI || MMC) >> + depends on (MMC=m && m) || MMC=y || (SPI && MMC!=m) >> help >> This is a driver for Silicons Labs WFxxx series (WF200 and further) >> chipsets. This chip can be found on SPI or SDIO buses. >> >> >> > An alternative (more understandable?): > > diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig > index 9b8a1c7a9e90..83ee4d0ca8c6 100644 > --- i/drivers/staging/wfx/Kconfig > +++ w/drivers/staging/wfx/Kconfig > @@ -1,6 +1,7 @@ > config WFX > tristate "Silicon Labs wireless chips WF200 and further" > depends on MAC80211 > + depends on MMC || !MMC # do not allow WFX=y if MMC=m > depends on (SPI || MMC) > help > This is a driver for Silicons Labs WFxxx series (WF200 and further) > > It's better and clear. Thanks sincerely, zhong jiang
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On Mon, Oct 14, 2019 at 10:06:25AM +, Jerome Pouiller wrote: > On Monday 14 October 2019 11:53:19 CEST Jérôme Pouiller wrote: > [...] > > Hello Zhong, > > > > Now, I see the problem. It happens when CONFIG_MMC=m and CONFIG_WFX=y > > (if CONFIG_WFX=m, it works). > > > > I think the easiest way to solve problem is to disallow CONFIG_WFX=y if > > CONFIG_MMC=m. > > > > This solution impacts users who want to use SPI bus with configuration: > > CONFIG_WFX=y + CONFIG_SPI=y + CONFIG_MMC=m. However, I think this is a > > twisted case. So, I think it won't be missed. > > > > I think that patch below do the right thing: > > > > -8<--8<--8<- > > > > diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig > > index 9b8a1c7a9e90..833f3b05b6b4 100644 > > --- i/drivers/staging/wfx/Kconfig > > +++ w/drivers/staging/wfx/Kconfig > > @@ -1,7 +1,7 @@ > > config WFX > > tristate "Silicon Labs wireless chips WF200 and further" > > depends on MAC80211 > > - depends on (SPI || MMC) > > + depends on (MMC=m && m) || MMC=y || (SPI && MMC!=m) > > help > > This is a driver for Silicons Labs WFxxx series (WF200 and > > further) > > chipsets. This chip can be found on SPI or SDIO buses. > > > > > > > > An alternative (more understandable?): > > diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig > index 9b8a1c7a9e90..83ee4d0ca8c6 100644 > --- i/drivers/staging/wfx/Kconfig > +++ w/drivers/staging/wfx/Kconfig > @@ -1,6 +1,7 @@ > config WFX > tristate "Silicon Labs wireless chips WF200 and further" > depends on MAC80211 > + depends on MMC || !MMC # do not allow WFX=y if MMC=m > depends on (SPI || MMC) > help > This is a driver for Silicons Labs WFxxx series (WF200 and further) Yes, this is much easier to understand. thanks, greg k-h
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On Monday 14 October 2019 11:53:19 CEST Jérôme Pouiller wrote: [...] > Hello Zhong, > > Now, I see the problem. It happens when CONFIG_MMC=m and CONFIG_WFX=y > (if CONFIG_WFX=m, it works). > > I think the easiest way to solve problem is to disallow CONFIG_WFX=y if > CONFIG_MMC=m. > > This solution impacts users who want to use SPI bus with configuration: > CONFIG_WFX=y + CONFIG_SPI=y + CONFIG_MMC=m. However, I think this is a > twisted case. So, I think it won't be missed. > > I think that patch below do the right thing: > > -8<--8<--8<- > > diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig > index 9b8a1c7a9e90..833f3b05b6b4 100644 > --- i/drivers/staging/wfx/Kconfig > +++ w/drivers/staging/wfx/Kconfig > @@ -1,7 +1,7 @@ > config WFX > tristate "Silicon Labs wireless chips WF200 and further" > depends on MAC80211 > - depends on (SPI || MMC) > + depends on (MMC=m && m) || MMC=y || (SPI && MMC!=m) > help > This is a driver for Silicons Labs WFxxx series (WF200 and further) > chipsets. This chip can be found on SPI or SDIO buses. > > > An alternative (more understandable?): diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig index 9b8a1c7a9e90..83ee4d0ca8c6 100644 --- i/drivers/staging/wfx/Kconfig +++ w/drivers/staging/wfx/Kconfig @@ -1,6 +1,7 @@ config WFX tristate "Silicon Labs wireless chips WF200 and further" depends on MAC80211 + depends on MMC || !MMC # do not allow WFX=y if MMC=m depends on (SPI || MMC) help This is a driver for Silicons Labs WFxxx series (WF200 and further) -- Jérôme Pouiller
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On Saturday 12 October 2019 04:48:55 CEST zhong jiang wrote: > On 2019/10/12 0:57, Jerome Pouiller wrote: > > On Friday 11 October 2019 18:38:17 CEST zhong jiang wrote: > >> I hit the following error when compile the kernel. > >> > >> drivers/staging/wfx/main.o: In function `wfx_core_init': > >> /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:488: > >> undefined reference to `sdio_register_driver' > >> drivers/staging/wfx/main.o: In function `wfx_core_exit': > >> /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:496: > >> undefined reference to `sdio_unregister_driver' > >> drivers/staging/wfx/main.o:(.debug_addr+0x1a8): undefined reference to > >> `sdio_register_driver' > >> drivers/staging/wfx/main.o:(.debug_addr+0x6f0): undefined reference to > >> `sdio_unregister_driver' > > For information, I cannot reproduce your issue (it does not mean that > > the issue does not exist). In add, if you obtain undefined references, > > it should only happen when CONFIG_MMC is not defined. > I attach the config, you can test it and reproduce the issue. > > Thanks, > zhogn jiang > > Can you check that your Modules.symvers is up-to-date (by running a > > 'make modules') ? Hello Zhong, Now, I see the problem. It happens when CONFIG_MMC=m and CONFIG_WFX=y (if CONFIG_WFX=m, it works). I think the easiest way to solve problem is to disallow CONFIG_WFX=y if CONFIG_MMC=m. This solution impacts users who want to use SPI bus with configuration: CONFIG_WFX=y + CONFIG_SPI=y + CONFIG_MMC=m. However, I think this is a twisted case. So, I think it won't be missed. I think that patch below do the right thing: -8<--8<--8<- diff --git i/drivers/staging/wfx/Kconfig w/drivers/staging/wfx/Kconfig index 9b8a1c7a9e90..833f3b05b6b4 100644 --- i/drivers/staging/wfx/Kconfig +++ w/drivers/staging/wfx/Kconfig @@ -1,7 +1,7 @@ config WFX tristate "Silicon Labs wireless chips WF200 and further" depends on MAC80211 - depends on (SPI || MMC) + depends on (MMC=m && m) || MMC=y || (SPI && MMC!=m) help This is a driver for Silicons Labs WFxxx series (WF200 and further) chipsets. This chip can be found on SPI or SDIO buses. -- Jérôme Pouiller
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On 2019/10/12 1:03, Greg KH wrote: > On Sat, Oct 12, 2019 at 12:34:07AM +0800, zhong jiang wrote: >> I hit the following error when compile the kernel. >> >> drivers/staging/wfx/main.o: In function `wfx_core_init': >> /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:488: >> undefined reference to `sdio_register_driver' >> drivers/staging/wfx/main.o: In function `wfx_core_exit': >> /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:496: >> undefined reference to `sdio_unregister_driver' >> drivers/staging/wfx/main.o:(.debug_addr+0x1a8): undefined reference to >> `sdio_register_driver' >> drivers/staging/wfx/main.o:(.debug_addr+0x6f0): undefined reference to >> `sdio_unregister_driver' >> >> Signed-off-by: zhong jiang >> --- >> drivers/staging/wfx/Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > What changed from v1? Always put that below the --- line. > > v3 please? Fine, I will repost in v3. Thanks, Sincerely, zhong jiang > thanks, > > greg k-h > > . >
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On Sat, Oct 12, 2019 at 12:34:07AM +0800, zhong jiang wrote: > I hit the following error when compile the kernel. > > drivers/staging/wfx/main.o: In function `wfx_core_init': > /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:488: > undefined reference to `sdio_register_driver' > drivers/staging/wfx/main.o: In function `wfx_core_exit': > /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:496: > undefined reference to `sdio_unregister_driver' > drivers/staging/wfx/main.o:(.debug_addr+0x1a8): undefined reference to > `sdio_register_driver' > drivers/staging/wfx/main.o:(.debug_addr+0x6f0): undefined reference to > `sdio_unregister_driver' > > Signed-off-by: zhong jiang > --- > drivers/staging/wfx/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) What changed from v1? Always put that below the --- line. v3 please? thanks, greg k-h
Re: [PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
On Friday 11 October 2019 18:38:17 CEST zhong jiang wrote: > I hit the following error when compile the kernel. > > drivers/staging/wfx/main.o: In function `wfx_core_init': > /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:488: > undefined reference to `sdio_register_driver' > drivers/staging/wfx/main.o: In function `wfx_core_exit': > /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:496: > undefined reference to `sdio_unregister_driver' > drivers/staging/wfx/main.o:(.debug_addr+0x1a8): undefined reference to > `sdio_register_driver' > drivers/staging/wfx/main.o:(.debug_addr+0x6f0): undefined reference to > `sdio_unregister_driver' For information, I cannot reproduce your issue (it does not mean that the issue does not exist). In add, if you obtain undefined references, it should only happen when CONFIG_MMC is not defined. Can you check that your Modules.symvers is up-to-date (by running a 'make modules') ? -- Jérôme Pouiller
[PATCH RESEND v2] staging: wfx: fix an undefined reference error when CONFIG_MMC=m
I hit the following error when compile the kernel. drivers/staging/wfx/main.o: In function `wfx_core_init': /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:488: undefined reference to `sdio_register_driver' drivers/staging/wfx/main.o: In function `wfx_core_exit': /home/z00352263/linux-next/linux-next/drivers/staging/wfx/main.c:496: undefined reference to `sdio_unregister_driver' drivers/staging/wfx/main.o:(.debug_addr+0x1a8): undefined reference to `sdio_register_driver' drivers/staging/wfx/main.o:(.debug_addr+0x6f0): undefined reference to `sdio_unregister_driver' Signed-off-by: zhong jiang --- drivers/staging/wfx/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/wfx/Makefile b/drivers/staging/wfx/Makefile index 0d9c1ed..77d68b7 100644 --- a/drivers/staging/wfx/Makefile +++ b/drivers/staging/wfx/Makefile @@ -19,6 +19,6 @@ wfx-y := \ sta.o \ debug.o wfx-$(CONFIG_SPI) += bus_spi.o -wfx-$(subst m,y,$(CONFIG_MMC)) += bus_sdio.o +wfx-$(CONFIG_MMC) += bus_sdio.o obj-$(CONFIG_WFX) += wfx.o -- 1.7.12.4