xref: /freebsd/sys/modules/brcm80211/brcmfmac/Makefile (revision 98c44ccb01d9461da477ec8d784c763e4d03fb36)
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
6WITH_PCI=1
7WITH_SDIO=0
8WITH_USB=0
9
10WITH_DMI=0
11WITH_OF=0
12WITH_DEBUG=1
13WITH_TRACING=0	# ftrace probes; simple enough to change possibly; keep 0!
14
15KMOD=	if_brcmfmac
16
17SRCS=	core.c
18SRCS+=	btcoex.c cfg80211.c chip.c common.c feature.c firmware.c
19SRCS+=	fweh.c fwil.c fwvid.c p2p.c pno.c proto.c vendor.c xtlv.c
20
21SRCS+=	wcc/core.c cyw/core.c bca/core.c
22
23# PCI parts; PCI needs to be compiled into the kernel and cannot be loaded.
24.if defined(WITH_PCI) && ${WITH_PCI} > 0 && ${KERN_OPTS:MDEV_PCI}
25SRCS+=	pcie.c msgbuf.c commonring.c flowring.c
26CFLAGS+=	-DCONFIG_BRCMFMAC_PCIE=1
27.endif
28
29# SDIO parts; SDIO depends on an MMCCAM kernel.
30.if defined(WITH_SDIO) && ${WITH_SDIO} > 0 && ${KERN_OPTS:MMMCCAM}
31SRCS+=	sdio.c bcmsdh.c
32SRCS+=	sdio_if.h
33SRCS+=	sdiodevs.h
34CFLAGS+=	-DCONFIG_BRCMFMAC_SDIO=1
35.endif
36
37# USB parts; USB can be loaded and is unconditional on any kernel config.
38.if defined(WITH_USB) && ${WITH_USB} > 0
39SRCS+=	usb.c
40CFLAGS+=	-DCONFIG_BRCMFMAC_USB=1
41.endif
42
43.if (defined(WITH_SDIO) && ${WITH_SDIO} > 0) || \
44    (defined(WITH_USB) && ${WITH_USB} > 0)
45CFLAGS+=	-DCONFIG_BRCMFMAC_PROTO_BCDC=1
46SRCS+=	bcdc.c fwsignal.c
47.endif
48
49.if defined(WITH_DMI) && ${WITH_DMI} > 0
50SRCS+=	dmi.c
51.endif
52
53.if defined(WITH_OF) && ${WITH_OF} > 0
54SRCS+=	of.c
55.endif
56
57.if defined(WITH_DEBUG) && ${WITH_DEBUG} > 0
58CFLAGS+=	-DDEBUG=${WITH_DEBUG}
59SRCS+=	debug.c
60.endif
61
62.if defined(WITH_TRACING) && ${WITH_TRACING} > 0
63SRCS+=	tracepoint.c
64.endif
65
66# Other
67SRCS+=	bus_if.h device_if.h pci_if.h vnode_if.h
68SRCS+=	${LINUXKPI_GENSRCS}
69SRCS+=	opt_wlan.h opt_inet6.h opt_inet.h opt_acpi.h
70
71CFLAGS+=	-DKBUILD_MODNAME='"brcmfmac"'
72CFLAGS+=	-DLINUXKPI_VERSION=61700
73
74CFLAGS+=	-I${DEVDIR}
75CFLAGS+=	-I${DEVDIR}/../include
76CFLAGS+=	${LINUXKPI_INCLUDES}
77CFLAGS+=	-ferror-limit=0
78
79#CFLAGS+=	-DCONFIG_BRCM_TRACING=${WITH_TRACING}
80CFLAGS+=	-DCONFIG_BRCMFMAC_PROTO_MSGBUF=${WITH_PCI}
81CFLAGS+=	-DCONFIG_BRCMDBG=${WITH_DEBUG}
82
83#CFLAGS+=	-DCONFIG_DMI=${WITH_DMI}
84#CFLAGS+=	-DCONFIG_OF=${WITH_OF}
85
86#CFLAGS+=	-DCONFIG_PM_SLEEP=
87
88#CFLAGS+=	-DCONFIG_ACPI=0
89#CFLAGS+=	-DCONFIG_PM
90#CFLAGS+=	-DCONFIG_IPV6=0
91
92.include <bsd.kmod.mk>
93