}
mutex_unlock(&edp_reg_mutex);
#endif
+
+ if (on)
+ sysedp_set_state(wifi_control_data->sysedpc, 1);
if (wifi_control_data->set_power)
wifi_control_data->set_power(on);
-
+ if (!on)
+ sysedp_set_state(wifi_control_data->sysedpc, 0);
if (msec)
msleep(msec);
return 0;
mutex_init(&edp_reg_mutex);
wifi_register_edp_client(&(wifi_ctrl->client_info));
#endif
+ wifi_control_data->sysedpc = sysedp_create_consumer("wifi", "wifi");
+
wifi_set_power(1, 0); /* Power On */
wifi_set_carddetect(1); /* CardDetect (0->1) */
#if defined(WIFIEDP)
wifi_unregister_edp_client(&(wifi_ctrl->client_info));
#endif
+ sysedp_free_consumer(wifi_ctrl->sysedpc);
+ wifi_ctrl->sysedpc = 0;
+
up(&wifi_control_sem);
return 0;
}
#define _LINUX_WLAN_PLAT_H_
#include <linux/edp.h>
+#include <linux/sysedp.h>
#if defined(CONFIG_BCMDHD_EDP_SUPPORT)
typedef enum e_edp_state {
#if defined(CONFIG_BCMDHD_EDP_SUPPORT)
struct edp_client client_info;
#endif
+ struct sysedp_consumer *sysedpc;
};
#endif