KMOD	= df229x
SRCS	= df229x.c
SRCS	+= bus_if.h device_if.h

# The production firewire.c / fwdma.c / fwdev.c are #included into
# df229x.c.  The guest kernel (X86_64_GENERIC, `device firewire`) already
# defines their globals, so every exported symbol is -D-renamed to a
# module-private dfw_* name (same set as the DF-5413 harness, proven on
# this kernel).
KCFLAGS+= -Dfirewire=dfw_firewire -D_hw_firewire=_hw_dfw_firewire \
	-Dfirewire_debug=dfw_debug -Dtry_bmr=dfw_try_bmr \
	-Dfirewire_devclass=dfw_devclass -Dlinkspeed=dfw_linkspeed \
	-Dgap_cnt=dfw_gap_cnt \
	-DM_FW=DFW_M_FW -DM_FWXFER=DFW_M_FWXFER \
	-Dfw_noderesolve_nodeid=dfw_nrn -Dfw_noderesolve_eui64=dfw_nre \
	-Dfw_asyreq=dfw_asyreq -Dfw_asy_callback=dfw_asycb \
	-Dfw_asybusy=dfw_asybusy -Dfw_busreset=dfw_busreset \
	-Dfw_init=dfw_init -Dfw_bindlookup=dfw_bindlookup \
	-Dfw_bindadd=dfw_bindadd -Dfw_bindremove=dfw_bindremove \
	-Dfw_xfer_alloc=dfw_xa -Dfw_xfer_alloc_buf=dfw_xab \
	-Dfw_xfer_done=dfw_xd -Dfw_xfer_unload=dfw_xu \
	-Dfw_xfer_free_buf=dfw_xfb -Dfw_xfer_free=dfw_xf \
	-Dfw_asy_callback_free=dfw_asycbf -Dfw_sidrcv=dfw_sidrcv \
	-Dasyreqq=dfw_asyreqq -Dfw_rcv=dfw_rcv \
	-Dfw_drain_txq=dfw_drain -Dfw_crc16=dfw_crc16 \
	-Dfwdma_malloc=dfw_dma_malloc -Dfwdma_free=dfw_dma_free \
	-Dfwdma_malloc_size=dfw_dma_malloc_size \
	-Dfwdma_free_size=dfw_dma_free_size \
	-Dfwdma_malloc_multiseg=dfw_dma_malloc_multiseg \
	-Dfwdma_free_multiseg=dfw_dma_free_multiseg \
	-Dfirewire_ops=dfw_firewire_ops \
	-Dfwdev_makedev=dfw_fwdev_makedev \
	-Dfwdev_destroydev=dfw_fwdev_destroydev \
	-Dfwdev_clone=dfw_fwdev_clone \
	-Dfwmem_open=dfw_fwmem_open -Dfwmem_close=dfw_fwmem_close \
	-Dfwmem_ioctl=dfw_fwmem_ioctl -Dfwmem_mmap=dfw_fwmem_mmap \
	-Dfwmem_strategy=dfw_fwmem_strategy
KCFLAGS+= -I${.CURDIR}/shim -I${SYSDIR} -Wall

.include <bsd.kmod.mk>
