INT32 wmt_plat_pwr_ctrl (
    ENUM_FUNC_STATE state
    )
{
    INT32 ret = -1;

    switch (state) {
    case FUNC_ON:
        // TODO:[ChangeFeature][George] always output this or by request throuth /proc or sysfs?
        wmt_plat_dump_pin_conf();
        ret = mtk_wcn_consys_hw_pwr_on(gCoClockFlag);
        break;

    case FUNC_OFF:
        ret = mtk_wcn_consys_hw_pwr_off();
        break;

    case FUNC_RST:
        ret = mtk_wcn_consys_hw_rst(gCoClockFlag);
        break;
    case FUNC_STAT:
        ret = mtk_wcn_consys_hw_state_show();
        break;
    default:
        WMT_PLAT_WARN_FUNC("WMT-PLAT:Warnning, invalid state(%d) in pwr_ctrl\n", state);
        break;
    }

    return ret;
}
void wmt_plat_gpio_init(struct platform_device *pdev)
{
	struct mtk_wmt_platform_data *p = pdev->dev.platform_data;

	wmt_pdata.pmu = p->pmu;
	wmt_pdata.rst = p->rst;
	wmt_pdata.bgf_int = p->bgf_int;
	wmt_pdata.urt_cts = p->urt_cts;
	wmt_pdata.rtc = p->rtc;
	wmt_pdata.gps_sync = p->gps_sync;
	wmt_pdata.gps_lna = p->gps_lna;
	
	wmt_plat_dump_pin_conf();
}