1DEVDIR= ${SRCTOP}/sys/contrib/dev/broadcom/brcm80211/brcmfmac 2 3.PATH: ${DEVDIR} 4 5# Should split this up into a core driver and 3 more 6BRCMFMAC_PCI= 1 7BRCMFMAC_USB= 0 8BRCMFMAC_SDIO= 0 9 10BRCMFMAC_PROTO_BCDC= 0 # SDIO, USB -- do not set manually 11BRCMFMAC_DEBUG= 1 12BRCMFMAC_TRACING= 0 # ftrace probes; simple enough to change possibly; keep 0! 13BRCMFMAC_OF= 0 14BRCMFMAC_DMI= 0 15BRCMFMAC_ACPI= 0 16 17KMOD= if_brcmfmac 18 19SRCS= core.c 20SRCS+= btcoex.c cfg80211.c chip.c common.c feature.c firmware.c 21SRCS+= fweh.c fwil.c fwvid.c p2p.c pno.c proto.c vendor.c xtlv.c 22 23SRCS+= wcc/core.c cyw/core.c bca/core.c 24 25# PCI parts; PCI needs to be compiled into the kernel and cannot be loaded. 26.if defined(BRCMFMAC_PCI) && ${BRCMFMAC_PCI} > 0 && ${KERN_OPTS:MDEV_PCI} 27SRCS+= pcie.c 28CFLAGS+= -DCONFIG_BRCMFMAC_PCIE 29SRCS+= msgbuf.c commonring.c flowring.c 30CFLAGS+= -DCONFIG_BRCMFMAC_PROTO_MSGBUF 31.endif 32 33# SDIO parts; SDIO depends on an MMCCAM kernel. 34.if defined(BRCMFMAC_SDIO) && ${BRCMFMAC_SDIO} > 0 && ${KERN_OPTS:MMMCCAM} 35SRCS+= sdio.c bcmsdh.c 36SRCS+= sdio_if.h 37SRCS+= sdiodevs.h 38CFLAGS+= -DCONFIG_BRCMFMAC_SDIO 39BRCMFMAC_PROTO_BCDC= 1 40.endif 41 42# USB parts; USB can be loaded and is unconditional on any kernel config. 43.if defined(BRCMFMAC_USB) && ${BRCMFMAC_USB} > 0 44SRCS+= usb.c 45CFLAGS+= -DCONFIG_BRCMFMAC_USB 46BRCMFMAC_PROTO_BCDC= 1 47.endif 48 49.if defined(BRCMFMAC_PROTO_BCDC) && ${BRCMFMAC_PROTO_BCDC} > 0 50CFLAGS+= -DCONFIG_BRCMFMAC_PROTO_BCDC 51SRCS+= bcdc.c fwsignal.c 52.endif 53 54.if defined(BRCMFMAC_DEBUG) && ${BRCMFMAC_DEBUG} > 0 55CFLAGS+= -DDEBUG -DCONFIG_BRCMDBG 56SRCS+= debug.c 57.endif 58 59.if defined(BRCMFMAC_TRACING) && ${BRCMFMAC_TRACING} > 0 60SRCS+= tracepoint.c 61CFLAGS+= -DCONFIG_BRCM_TRACING 62.endif 63 64.if defined(BRCMFMAC_OF) && ${BRCMFMAC_OF} > 0 65SRCS+= of.c 66CFLAGS+= -DCONFIG_OF 67.endif 68 69.if defined(BRCMFMAC_DMI) && ${BRCMFMAC_DMI} > 0 70SRCS+= dmi.c 71CFLAGS+= -DCONFIG_DMI 72.endif 73 74.if defined(BRCMFMAC_ACPI) && ${BRCMFMAC_ACPI} > 0 75SRCS+= acpi.c 76CFLAGS+= -DCONFIG_ACPI 77.endif 78 79# Other 80SRCS+= bus_if.h device_if.h pci_if.h vnode_if.h 81SRCS+= ${LINUXKPI_GENSRCS} 82SRCS+= opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h 83 84CFLAGS+= -I${DEVDIR} 85CFLAGS+= -I${DEVDIR}/../include 86CFLAGS+= ${LINUXKPI_INCLUDES} 87# Helpful after fresh imports. 88#CFLAGS+= -ferror-limit=0 89 90#CFLAGS+= -DCONFIG_PM_SLEEP= 91 92#CFLAGS+= -DCONFIG_PM 93#CFLAGS+= -DCONFIG_IPV6=0 94 95CFLAGS+= -DKBUILD_MODNAME='"brcmfmac"' 96CFLAGS+= -DLINUXKPI_VERSION=70000 97 98.include <bsd.kmod.mk> 99