xref: /freebsd/sys/modules/brcm80211/brcmfmac/Makefile (revision 634a48f3673ff8af9848846a6bff1a8c068d205d)
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