[G Tablet General] Chenglu:
bcm4329 wlan drivers code for tegra kernel source

modify by xiaolu

Unzip the file in "drivers/net/wireless" directory

modify tegra_harmony_android_deconfig:

CONFIG_WLAN=y
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
CONFIG_BCM4329=m
CONFIG_BCM4329_SOFTAP=y
CONFIG_BCM4329_FW_PATH="/system/lib/hw/wlan/fw_bcm4329.bin"
CONFIG_BCM4329_NVRAM_PATH="/system/lib/hw/wlan/nvram.txt"

Run:

make ARCH=arm tegra_harmony_android_defconfig

CHK include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC [M] drivers/net/wireless/bcm4329/dhd_linux.o
CC [M] drivers/net/wireless/bcm4329/linux_osl.o
CC [M] drivers/net/wireless/bcm4329/bcmutils.o
CC [M] drivers/net/wireless/bcm4329/dhd_common.o
CC [M] drivers/net/wireless/bcm4329/dhd_custom_gpio.o
CC [M] drivers/net/wireless/bcm4329/siutils.o
CC [M] drivers/net/wireless/bcm4329/sbutils.o
CC [M] drivers/net/wireless/bcm4329/aiutils.o
CC [M] drivers/net/wireless/bcm4329/hndpmu.o
CC [M] drivers/net/wireless/bcm4329/dhd_linux_sched.o
CC [M] drivers/net/wireless/bcm4329/wl_iw.o
CC [M] drivers/net/wireless/bcm4329/bcmwifi.o
CC [M] drivers/net/wireless/bcm4329/dhd_cdc.o
CC [M] drivers/net/wireless/bcm4329/sha1.o
CC [M] drivers/net/wireless/bcm4329/md5.o
CC [M] drivers/net/wireless/bcm4329/dhd_sdio.o
CC [M] drivers/net/wireless/bcm4329/bcmsdh_sdmmc.o
CC [M] drivers/net/wireless/bcm4329/bcmsdh.o
CC [M] drivers/net/wireless/bcm4329/bcmsdh_linux.o
CC [M] drivers/net/wireless/bcm4329/bcmsdh_sdmmc_linux.o
LD [M] drivers/net/wireless/bcm4329/bcm4329.o
CC drivers/regulator/core.o
CC drivers/regulator/tegra-regulator.o
LD drivers/regulator/built-in.o
LD drivers/built-in.o
CC net/ipv4/tcp.o
CC net/ipv4/udp.o
LD net/ipv4/built-in.o
LD net/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
KSYM .tmp_kallsyms1.S
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
KSYM .tmp_kallsyms2.S
AS .tmp_kallsyms2.o
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
GZIP arch/arm/boot/compressed/piggy.gz
AS arch/arm/boot/compressed/piggy.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 4 modules
CC drivers/net/wireless/bcm4329/bcm4329.mod.o
LD [M] drivers/net/wireless/bcm4329/bcm4329.ko

Makefile for Harmony:

DHDCFLAGS = -DLINUX -DBCMDRIVER -DBCMDONGLEHOST -DDHDTHREAD -DBCMWPA2 -DBCMWAPI_WPI \
-DUNRELEASEDCHIP -Wall -Wstrict-prototypes -DDHD_GPL -DDHD_SCHED \
-DBDC -DTOE -DDHD_BCMEVENTS -DSHOW_EVENTS -DSOFTAP -DARP_OFFLOAD_SUPPORT \
-DBCMSDIO -DBCMLXSDMMC -DBCMPLATFORM_BUS -DEMBEDDED_PLATFORM -DOEM_ANDROID \
-DPKT_FILTER_SUPPORT -DMMC_SDIO_FORCE_PULLUP -DMMC_SDIO_BROKEN_CCCR_REV -DCUSTOMER_HW4 \
-DCUSTOM_RESET_GPIO_NUM=86 \
-Idrivers/net/wireless/bcm4329 -Idrivers/net/wireless/bcm4329/include

DHDOFILES = dhd_linux.o linux_osl.o bcmutils.o dhd_common.o dhd_custom_gpio.o siutils.o sbutils.o aiutils.o \
hndpmu.o dhd_linux_sched.o wl_iw.o bcmwifi.o dhd_cdc.o sha1.o md5.o dhd_sdio.o \
bcmsdh_sdmmc.o bcmsdh.o bcmsdh_linux.o bcmsdh_sdmmc_linux.o

obj-$(CONFIG_BCM4329) += bcm4329.o
bcm4329-objs += $(DHDOFILES)
EXTRA_CFLAGS = $(DHDCFLAGS)
EXTRA_LDFLAGS += --strip-debug