Example #1
0
static int tv_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
	disp_vdevice_init_data init_data;

	pr_info("[DISP_I2C] tv_i2c_probe\n");
	memset(&init_data, 0, sizeof(disp_vdevice_init_data));
	tv_i2c_client = client;

	init_data.disp = tv_screen_id;
	memcpy(init_data.name, modules_name, 32);
	init_data.type = DISP_OUTPUT_TYPE_TV;
	init_data.fix_timing = 0;

	init_data.func.enable = gm7121_tv_open;
	init_data.func.disable = gm7121_tv_close;
	init_data.func.get_HPD_status = gm7121_tv_get_hpd_status;
	init_data.func.set_mode = gm7121_tv_set_mode;
	init_data.func.mode_support = gm7121_tv_get_mode_support;
	init_data.func.get_video_timing_info = gm7121_tv_get_video_timing_info;
	init_data.func.get_interface_para = gm7121_tv_get_interface_para;
	init_data.func.get_input_csc = gm7121_tv_get_input_csc;
	disp_vdevice_get_source_ops(&tv_source_ops);
	tv_parse_config();

	gm7121_device = disp_vdevice_register(&init_data);

	return 0;
}
static int hdmi_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
    disp_vdevice_init_data init_data;

    pr_info("[DISP_I2C] hdmi_i2c_probe\n");
    memset(&init_data, 0, sizeof(disp_vdevice_init_data));
    ep952_i2c_client = client;

    init_data.disp = hdmi_screen_id;
    memcpy(init_data.name, modules_name, 32);
    init_data.type = DISP_OUTPUT_TYPE_HDMI;
    init_data.fix_timing = 0;

    init_data.func.enable = ep952_open;
    init_data.func.disable = ep952_close;
    init_data.func.set_mode = ep952_set_mode;
    init_data.func.mode_support = ep952_get_mode_support;
    init_data.func.get_HPD_status = ep952_get_hpd_status;
    init_data.func.get_input_csc = ep952_get_input_csc;
    init_data.func.get_video_timing_info = ep952_get_video_timing_info;
	init_data.func.suspend = ep952_suspend;
	init_data.func.resume = ep952_resume;
	init_data.func.early_suspend = ep952_early_suspend;
	init_data.func.late_resume = ep952_late_resume;
    init_data.func.get_interface_para = ep952_hdmi_get_interface_para;
    disp_vdevice_get_source_ops(&hdmi_source_ops);
    hdmi_parse_config();
	EP_HDMI_Init();

    #if defined(CONFIG_SWITCH) || defined(CONFIG_ANDROID_SWITCH)
    switch_dev_register(&hdmi_switch_dev);
    #endif
	ep952_thread_enable();

    ep952_device = disp_vdevice_register(&init_data);

    return 0;
}