static int32_t si_8348_mhl_tx_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); int ret; printk("%s, client=%p\n", __func__, (void *)client); client->timing = 100; i2c_bus_adapter = to_i2c_adapter(client->dev.parent); /* * On some boards the configuration switches * are connected via an I2C controlled GPIO expander. * At this point in the initialization, we're not * ready to to I2C yet, so don't try to read any config * switches here. Instead, wait until gpio_expander_init(). */ ret = mhl_tx_init(&drv_info, client); mClient = client; printk("%s, mhl_tx_init ret %d\n", __func__, ret); if (ret){ } Unmask_MHL_Intr(); return ret; }
int hdmi_drv_power_on(void) { int ret = 1; HDMI_FUNC(); /* if(not_switch_to_d3 > 0) { HDMI_LOG("hdmi_drv_power_on direct to exit for forceon(%d_\n", not_switch_to_d3); return ; } */ cust_hdmi_power_on(true); cust_hdmi_dpi_gpio_on(true); //cust_hdmi_i2s_gpio_on(true); if(txInitFlag == 0) { ///sii_8348_tx_init(); txInitFlag = 1; } goto power_on_exit; /* MHL_Power(true); Mask_MHL_Intr(); if(chip_inited == false) { if(txInitFlag == 0) { sii_8348_tx_init(); txInitFlag = 1; } else { si_mhl_tx_post_initialize(si_dev_context, false); } chip_inited = true; } */ power_on_exit: if(chip_device_id >0) ret = 0; Unmask_MHL_Intr(); HDMI_LOG("status %d, chipid: %x, ret: %d--%d\n", ReadConnectionStatus() , chip_device_id, ret, need_reset_usb_switch); return ret; }