/** * @brief tvp5146_power_set - Power-on or power-off TVP5146 device * * @param power - enum, Power on/off, resume/standby * * @return result of operation - 0 is success */ static int tvp5146_power_set(struct v4l2_int_device *s, enum v4l2_power power) { struct omap34xxcam_videodev *vdev = s->u.slave->master->priv; switch (power) { case V4L2_POWER_OFF: /* Disable mux for TVP5146 decoder data path */ if (is_dec_onboard) { if (omap3evm_set_mux(MUX_TVP5146, DISABLE_MUX)) return -ENODEV; } else { if (omap3evmdc_set_mux(MUX_TVP5146, DISABLE_MUX)) return -ENODEV; } break; case V4L2_POWER_STANDBY: break; case V4L2_POWER_ON: /* Enable mux for TVP5146 decoder data path */ if (is_dec_onboard) { if (omap3evm_set_mux(MUX_TVP5146, ENABLE_MUX)) return -ENODEV; } else { if (omap3evmdc_set_mux(MUX_TVP5146, ENABLE_MUX)) return -ENODEV; } #if defined(CONFIG_VIDEO_OMAP3) || defined(CONFIG_VIDEO_OMAP3_MODULE) isp_configure_interface(vdev->cam->isp, &tvp5146_if_config); #endif break; default: return -ENODEV; break; } return 0; }
/** * @brief tvp5146_power_set - Power-on or power-off TVP5146 device * * @param power - enum, Power on/off, resume/standby * * @return result of operation - 0 is success */ static int tvp5146_power_set(enum v4l2_power power) { switch (power) { case V4L2_POWER_OFF: /* Disable mux for TVP5146 decoder data path */ if (is_dec_onboard) { if (omap3evm_set_mux(MUX_TVP5146, DISABLE_MUX)) return -ENODEV; } else { if (omap3evmdc_set_mux(MUX_TVP5146, DISABLE_MUX)) return -ENODEV; } break; case V4L2_POWER_STANDBY: break; case V4L2_POWER_ON: /* Enable mux for TVP5146 decoder data path */ if (is_dec_onboard) { if (omap3evm_set_mux(MUX_TVP5146, ENABLE_MUX)) return -ENODEV; } else { if (omap3evmdc_set_mux(MUX_TVP5146, ENABLE_MUX)) return -ENODEV; } #if defined(CONFIG_VIDEO_OMAP3_CAM) || defined(CONFIG_VIDEO_OMAP3_CAM_MODULE) isp_configure_interface(&tvp5146_if_config); #endif break; default: return -ENODEV; break; } return 0; }