Hi igor
Thanks for your help.
After reading the Chapter 33 MMC/SD/SDIO Host Driver in Linux Manual,I have found that function (wifi_card_detect(void))in linux/drivers/mmc/host/sdhci-esdhc-imx.c and add it to my driver code ,it compile ok.
when i use insmod command to load ther driver , I got the following information :
insmod system/lib/modules/cfg80211.ko
cfg80211: Calling CRDA to update world regulatory domain
insmod system/lib/modules/bcmdhd.ko <
dhd_module_init: in
======== bcm_wlan_set_plat_data ========
GPIO(WL_HOST_WAKE) = GPIO_4_25
host_oob_irq: 281
host_oob_irq_flags=4
dhd_wifi_platform_load: Enter
Power-up adapter 'DHD generic adapter'
wifi_platform_set_power = 1
======== PULL WL_REG_ON HIGH! ========
======== Card detection to detect SDIO card ========
wifi_platform_bus_enumerate device present 1
failed to power up DHD generic adapter, 3 retry left
wifi_platform_set_power = 0
======== PULL WL_REG_ON LOW! ========
wifi_platform_bus_enumerate device present 0
wifi_platform_set_power = 1
======== PULL WL_REG_ON HIGH! ========
======== Card detection to detect SDIO card ========
wifi_platform_bus_enumerate device present 1
failed to power up DHD generic adapter, 2 retry left
wifi_platform_set_power = 0
======== PULL WL_REG_ON LOW! ========
wifi_platform_bus_enumerate device present 0
wifi_platform_set_power = 1
======== PULL WL_REG_ON HIGH! ========
... ...
======== PULL WL_REG_ON LOW! ========
wifi_platform_bus_enumerate device present 0
failed to power up DHD generic adapter, max retry reached**
unregister wifi platform drivers
wifi_platform_bus_enumerate device present 0
dhd_module_init: Failed to load the driver, try cnt 0
dhd_module_init: Failed to load driver max retry reached**
dhd_module_init: Exit err=-19
I wonder if the WiFi driver I used is too old to run properly on 3.14.52 kernel , I will attach it below ,about this driver ,the file I modified is dhd_gpio.c.can you look at it and see if the changes I made is right .
Thank you again for you time on this case.
Best regards!
li chen.