#include #include #include #include #include "xmedia_type.h" #include "xmedia_errcode.h" #include "drv_isp_export.h" #include "adp_isp.h" typedef struct { xmedia_u32 sensor_num; xmedia_u32 clk_chn; } adp_isp_cfg; static adp_isp_cfg g_cfg[] = { { 0, 0 }, }; xmedia_s32 adp_isp_set_mclk(xmedia_u32 sensor_num, xmedia_bool enable, xmedia_sensor_clock_freq clk) { xmedia_s32 i; xmedia_s32 num = sizeof(g_cfg) / sizeof(adp_isp_cfg); for (i = 0; i < num; i++) { if (g_cfg[i].sensor_num == sensor_num) { return drv_isp_set_mclk(g_cfg[i].clk_chn, enable, clk); } } return XMEDIA_ERRCODE_INVALID_PARAM; } EXPORT_SYMBOL(adp_isp_set_mclk); xmedia_s32 adp_isp_set_i2c(xmedia_u32 sensor_num, xmedia_sensor_bus_type bus_type, adp_isp_i2c_callback *i2c_callback) { isp_i2c_callback i2c_cb = { 0 }; if (i2c_callback == XMEDIA_NULL) { return XMEDIA_ERRCODE_INVALID_PARAM; } i2c_cb.pfn_i2c_write = i2c_callback->pfn_i2c_write; return drv_isp_register_i2c(&i2c_cb); } EXPORT_SYMBOL(adp_isp_set_i2c); static int __init adp_isp_init(void) { return 0; } module_init(adp_isp_init); static void __exit adp_isp_exit(void) { return; } module_exit(adp_isp_exit); MODULE_LICENSE("GPL");