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_DEVICE’
BRCMF_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!