[bwn] add in bwn n-phy linking.

* The default kernel and options won't build the GPL PHY bits;
* bwn(4) defaults to building as a module anyway!;
* If BWN_GPL_PHY is specified in the config file, and you uncomment
  the GPL PHY bits in the module Makefile, you'll get a working
  N-PHY.

This is specifically designed to be obtuse for now, as I don't want
to flip it on by default.  It's easy enough for people to flip on
and build, and it's a module so the default GENERIC kernel won't be
GPL tainted.

I'll have to add an actual HAL layer that allows the GPL PHY to be loaded
before if_bwn so it can be "magic", but that'll come later.

Tested:

* BCM4321 11abg NIC, STA mode
This commit is contained in:
Adrian Chadd 2016-05-17 07:15:25 +00:00
parent ac31839dd2
commit 5256202954
2 changed files with 14 additions and 0 deletions

View File

@ -1179,6 +1179,7 @@ dev/bwn/if_bwn_phy_g.c optional bwn siba_bwn \
compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}"
dev/bwn/if_bwn_phy_lp.c optional bwn siba_bwn \
compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}"
dev/bwn/if_bwn_phy_n.c optional bwn siba_bwn
dev/bwn/if_bwn_util.c optional bwn siba_bwn
dev/bwn/bwn_mac.c optional bwn bhnd | bwn bhndbus
dev/cardbus/cardbus.c optional cardbus

View File

@ -9,10 +9,23 @@ SRCS+= if_bwn_util.c
# PHY
SRCS+= if_bwn_phy_common.c
SRCS+= if_bwn_phy_g.c if_bwn_phy_lp.c
SRCS+= if_bwn_phy_n.c
# Other
SRCS+= device_if.h bus_if.h pci_if.h
# Uncomment this for the GPL PHY code; this requires the
# module be built with BWN_GPL_PHY set in the kernel
# configuration.
#.PATH: ${.CURDIR}/../../gnu/dev/bwn/phy_n
#SRCS+= if_bwn_radio_2055.c
#SRCS+= if_bwn_radio_2056.c
#SRCS+= if_bwn_radio_2057.c
#SRCS+= if_bwn_phy_n_tables.c
#SRCS+= if_bwn_phy_n_ppr.c
#SRCS+= if_bwn_phy_n_core.c
.include <bsd.kmod.mk>
# XXX Work around clang warning, until maintainer approves fix.