[Yocto] [Broadcom 4375 PCIE] [i.mx8mm] Build synaptics 4375 driver with Yocto image failed

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[Yocto] [Broadcom 4375 PCIE] [i.mx8mm] Build synaptics 4375 driver with Yocto image failed

623 Views
Mater
Contributor II

Board: Myir i.mx8mm

I would like to package synaptics version of 4375 wifi driver with Yocto image.

  • If build this PCIE  or SDIO version driver via "SDK", it is fine for finished & create .ko file
  • But if build this PCIE version driver via Yocto process(bitbake), Yocto would show error about " In function 'dhdpcie_bus_register': <command-line>: error: expected ')' before 'pcie'".
  • Build this SDIO version driver via Yocto process(bitbake), it is normal to finish to create .ko file.

    From the following info, this error could expansion of macro failed. However, I didn't modify dhd_pcie_linux.c & pci.h code.
    Key error message
    | /home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work/myd_imx8mm-poky-linux/synaptics4375-linux/1.0-r0/synaptics4375-linux-1.0/dhd_pcie_linux.c: In function 'dhdpcie_bus_register':
    | <command-line>: error: expected ')' before 'pcie'
    | /home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work-shared/myd-imx8mm/kernel-source/include/linux/pci.h:1352:45: note: in expansion of macro 'KBUILD_MODNAME'
    | 1352 | __pci_register_driver(driver, THIS_MODULE, KBUILD_MODNAME)
    | | ^~~~~~~~~~~~~~
    | /home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work/myd_imx8mm-poky-linux/synaptics4375-linux/1.0-r0/synaptics4375-linux-1.0/dhd_pcie_linux.c:1417:16: note: in expansion of macro 'pci_register_driver'
    | 1417 | if (!(error = pci_register_driver(&dhdpcie_driver))) {
    | | ^~~~~~~~~~~~~~~~~~~
    | CC [M] /home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work/myd_imx8mm-poky-linux/synaptics4375-linux/1.0-r0/synaptics4375-linux-1.0/dhd_linux_lb.o
    | /home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work-shared/myd-imx8mm/kernel-source/scripts/Makefile.build:265: recipe for target '/home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work/myd_imx8mm-poky-linux/synaptics4375-linux/1.0-r0/synaptics4375-linux-1.0/dhd_pcie_linux.o' failed
    | make[3]: *** [/home/valen/work/MYD-C8MMX-Yocto/build-xwayland/tmp/work/myd_imx8mm-poky-linux/synaptics4375-linux/1.0-r0/synaptics4375-linux-1.0/dhd_pcie_linux.o] Error 1
    | make[3]: *** Waiting for unfinished jobs....

Detail Yocto build log for this is as log.do_compile.18399.log.

 

And Broadcom 4375 driver Makefile (Makefile.log => Makefile). It is adjusted by customer.

  • Adjust LINUXDIR to Linux kernel builder path.
  • Build pcie : make bcmdhd_pcie
  • Build sdio : make bcmdhd_sdio

 

Do someone touch this similar problem? Thanks.

Labels (1)
0 Kudos
Reply
2 Replies

609 Views
joanxie
NXP TechSupport
NXP TechSupport

could you share the detailed build steps with me?

0 Kudos
Reply

604 Views
Mater
Contributor II

Dear Joanxie,

 

Thank you for your respond

I just found customer Makefile issue (I have already got trouble with this issue about two weeks)

In this driver, I shouldn't set CONFIG_BCMDHD_MULTIPLE_DRIVER=Y to create different naming .ko for PCIE / SDIO at the same time, and it would cause this kind of error. Maybe DHDFLAGS settings becomes wrong after that.

 

Besides, I found the other method.

1. Set CONFIG_BCMDHD_MULTIPLE_DRIVER as None

2. Build SDIO version then rename .ko

3. Build PCIE version.

 

Finally, thank you for help^^

0 Kudos
Reply