/*
 * The power_down gpio pin is to control GC0310's
 * internal power state.
 */
static int gc0310_power_ctrl(struct v4l2_subdev *sd, int flag)
{
	int ret = 0;

	if (flag) {
		if (!camera_vprog1_on) {
#ifdef CONFIG_CRYSTAL_COVE
			/*
			 * This should call VRF APIs.
			 *
			 * VRF not implemented for BTY, so call this
			 * as WAs
			 */
			ret = gc_camera_set_pmic(true);
			if (ret)
				return ret;
#endif
			if (!ret)
				camera_vprog1_on = 1;
			return ret;
		}
	} else {
		if (camera_vprog1_on) {
#ifdef CONFIG_CRYSTAL_COVE
			ret = gc_camera_set_pmic(false);
			if (ret)
				return ret;
#endif
			if (!ret)
				camera_vprog1_on = 0;
			return ret;
		}
	}
	return 0;
}
/*
 * The power_down gpio pin is to control OV5693's
 * internal power state.
 */
static int gc2235_power_ctrl(struct v4l2_subdev *sd, int flag)
{
        int ret = 0;
 
        if (flag) {
                if (!camera_vprog1_on) {
                        /*if (intel_mid_identify_cpu() !=
                            INTEL_MID_CPU_CHIP_VALLEYVIEW2)
                                ret = intel_scu_ipc_msic_vprog1(1);*/
#ifdef CONFIG_CRYSTAL_COVE
                        /*
                         * This should call VRF APIs.
                         *
                         * VRF not implemented for BTY, so call this
                         * as WAs
                         */
                        ret = gc_camera_set_pmic(true);
                        if (ret)
                                return ret;
#endif
                        if (!ret)
                                camera_vprog1_on = 1;
                        return ret;
                }
        } else {
                if (camera_vprog1_on) {
                        /*if (intel_mid_identify_cpu() !=
                            INTEL_MID_CPU_CHIP_VALLEYVIEW2)
                                ret = intel_scu_ipc_msic_vprog1(0);*/
#ifdef CONFIG_CRYSTAL_COVE
                        ret = gc_camera_set_pmic(false);
                        if (ret)
                                return ret;                        
#endif
                        if (!ret)
                                camera_vprog1_on = 0;
                        return ret;
        	}
	}
        return 0;
}