Não é possível compilar o driver brcmfmac no Linux

0

Estou tentando recompilar um driver brcmfmac com patch que eu mesmo criei. No entanto, a compilação falhou mesmo depois de eu ter copiado todos os arquivos / include para as pastas usr / include.

A compilação a seguir é feita com a própria fonte. Não contém alterações.

A mensagem de erro é a seguinte:

alan@ubuntu:~/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac$ make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
make: Entering directory '/usr/src/linux-headers-4.15.0-30-generic'
  CC [M]  /home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.o
In file included from /home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:28:0:
/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:966:21: error: SDIO_DEVICE_ID_BROADCOM_43364’ undeclared here (not in a function); did you mean ‘SDIO_DEVICE_ID_BROADCOM_43362’?
   BRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43364),
                     ^
./include/linux/mmc/sdio_func.h:97:31: note: in definition of macro ‘SDIO_DEVICE’
  .vendor = (vend), .device = (dev)
                               ^~~
/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:966:3: note: in expansion of macro ‘BRCMF_SDIO_DEVICEBRCMF_SDIO_DEVICE(SDIO_DEVICE_ID_BROADCOM_43364),
   ^~~~~~~~~~~~~~~~~
/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:1168:4: error: struct device_driver’ has no member named ‘coredump’; did you mean ‘resume’?
   .coredump = brcmf_dev_coredump,
    ^~~~~~~~
    resume
/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:1168:15: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
   .coredump = brcmf_dev_coredump,
               ^~~~~~~~~~~~~~~~~~
/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c:1168:15: note: (near initialization for ‘brcmf_sdmmc_driver.drv.p’)
cc1: some warnings being treated as errors
scripts/Makefile.build:332: recipe for target '/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.o' failed
make[1]: *** [/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.o] Error 1
Makefile:1552: recipe for target '_module_/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac' failed
make: *** [_module_/home/alan/Desktop/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac] Error 2

Maioria dos arquivos foram capazes de compilar, este é um dos poucos que não conseguiram.

Acredito que a principal razão que é incapaz de compilar é porque o SDIO_DEVICE_ID_BROADCOM_43364 não está definido, o que me faz pensar se eu tenho a fonte do kernel correta instalada (o repo era de link )

Se alguém pudesse identificar a principal razão por trás da compilação com falha, eu ficaria grato.

Obrigado!

    
por Alan 07.08.2018 / 05:42

0 respostas