From: gwl Date: Thu, 20 Mar 2014 03:28:00 +0000 (+0800) Subject: Wifi:bcmdhd: modify to use oob way. reduce rfkill-bt init time. X-Git-Tag: firefly_0821_release~5982 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=29fabe80f27d0637dab2dcc9e38331cfb57b9e46;p=firefly-linux-kernel-4.4.55.git Wifi:bcmdhd: modify to use oob way. reduce rfkill-bt init time. --- diff --git a/arch/arm/boot/dts/rk3188-tb.dts b/arch/arm/boot/dts/rk3188-tb.dts index 50592699705f..a9b5be87f7d3 100755 --- a/arch/arm/boot/dts/rk3188-tb.dts +++ b/arch/arm/boot/dts/rk3188-tb.dts @@ -182,7 +182,7 @@ supports-highspeed; supports-sdio; - //cap-sdio-irq; + cap-sdio-irq; status = "okay"; }; diff --git a/arch/arm/boot/dts/rk3288-tb.dts b/arch/arm/boot/dts/rk3288-tb.dts index 08925d07739b..7f6c9d41eee5 100755 --- a/arch/arm/boot/dts/rk3288-tb.dts +++ b/arch/arm/boot/dts/rk3288-tb.dts @@ -172,7 +172,7 @@ supports-highspeed; supports-sdio; - //cap-sdio-irq; + cap-sdio-irq; status = "diabled"; }; diff --git a/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile b/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile index 2205af16fe36..54f6c9b2b93e 100644 --- a/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile +++ b/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/Makefile @@ -6,7 +6,8 @@ MODULE_NAME = bcmdhd #CONFIG_RKWIFI = m CONFIG_CFG80211 = y -#CONFIG_BCMDHD_OOB = y +CONFIG_BCMDHD_OOB = y +#CONFIG_BCMDHD_POWER_OFF_IN_SUSPEND = y DHDCFLAGS = -Wall -Wstrict-prototypes -Dlinux -DBCMDRIVER \ -DBCMDONGLEHOST -DUNRELEASEDCHIP -DBCMDMA32 -DWLBTAMP -DBCMFILEIMAGE \ @@ -15,7 +16,7 @@ DHDCFLAGS = -Wall -Wstrict-prototypes -Dlinux -DBCMDRIVER \ -DMMC_SDIO_ABORT -DBCMSDIO -DBCMLXSDMMC -DBCMPLATFORM_BUS \ -DWIFI_ACT_FRAME -DARP_OFFLOAD_SUPPORT \ -DKEEP_ALIVE -DPKT_FILTER_SUPPORT -DGET_CUSTOM_MAC_ENABLE \ - -DEMBEDDED_PLATFORM -DPNO_SUPPORT \ + -DEMBEDDED_PLATFORM -DPNO_SUPPORT -DENABLE_INSMOD_NO_FW_LOAD \ -DDHD_USE_IDLECOUNT -DSET_RANDOM_MAC_SOFTAP -DVSDB \ -DWL_CFG80211_VSDB_PRIORITIZE_SCAN_REQUEST -DSDIO_CRC_ERROR_FIX \ -DESCAN_RESULT_PATCH -DHT40_GO -DPASS_ARP_PACKET -DSUPPORT_PM2_ONLY \ @@ -24,7 +25,7 @@ DHDCFLAGS = -Wall -Wstrict-prototypes -Dlinux -DBCMDRIVER \ -DWL_SUPPORT_BACKPORTED_KPATCHES \ -Idrivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd \ -Idrivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/include -#-DENABLE_INSMOD_NO_FW_LOAD + DHDOFILES = aiutils.o bcmsdh_sdmmc_linux.o dhd_linux.o siutils.o bcmutils.o \ dhd_linux_sched.o bcmwifi_channels.o dhd_sdio.o bcmevent.o dhd_bta.o hndpmu.o \ bcmsdh.o dhd_cdc.o bcmsdh_linux.o dhd_common.o dhd_wlfc.o dhd_ip.o linux_osl.o \ diff --git a/net/rfkill/rfkill-bt.c b/net/rfkill/rfkill-bt.c index bcd5ac2068d7..06c666a598eb 100755 --- a/net/rfkill/rfkill-bt.c +++ b/net/rfkill/rfkill-bt.c @@ -595,7 +595,16 @@ static int rfkill_rk_probe(struct platform_device *pdev) wake_lock_init(&(rfkill->bt_irq_wl), WAKE_LOCK_SUSPEND, "rfkill_rk_irq_wl"); INIT_DELAYED_WORK(&rfkill->bt_sleep_delay_work, rfkill_rk_delay_sleep_bt); - rfkill_rk_set_power(rfkill, BT_BLOCKED); + //rfkill_rk_set_power(rfkill, BT_BLOCKED); + // bt turn off power + if (gpio_is_valid(pdata->poweron_gpio.io)) + { + gpio_direction_output(pdata->poweron_gpio.io, !pdata->poweron_gpio.enable); + } + if (gpio_is_valid(pdata->reset_gpio.io)) + { + gpio_direction_output(pdata->reset_gpio.io, !pdata->reset_gpio.enable); + } platform_set_drvdata(pdev, rfkill);