ret = extcon_dev_register(edev);
if (ret < 0) {
rx_pr("failed to register rx_excton_rx22\n");
+ extcon_dev_free(edev);
return;
}
rx.rx_excton_rx22 = edev;
ret = extcon_dev_register(edev);
if (ret < 0) {
rx_pr("failed to register rx_excton_auth\n");
+ extcon_dev_free(edev);
return;
}
rx.hdcp.rx_excton_auth = edev;
/* rx_pr("hdmirx_extcon_register done\n"); */
+
+ /*hdmirx extcon open port*/
+ edev = extcon_dev_allocate(rx22_ext);
+ if (IS_ERR(edev)) {
+ rx_pr("failed to allocate rx_excton_open\n");
+ return;
+ }
+ edev->dev.parent = dev;
+ edev->name = "rx_excton_open";
+ dev_set_name(&edev->dev, "hdmiin");
+ ret = extcon_dev_register(edev);
+ if (ret < 0) {
+ rx_pr("failed to register rx_excton_open\n");
+ extcon_dev_free(edev);
+ return;
+ }
+ rx.rx_excton_open = edev;
}
static struct tvin_decoder_ops_s hdmirx_dec_ops = {
.support = hdmirx_dec_support,
*
*
*/
-#define RX_VER2 "ver.2019/02/21"
+#define RX_VER2 "ver.2019/03/19"
/*print type*/
#define LOG_EN 0x01
struct hdmi_rx_hdcp hdcp;
/*report hpd status to app*/
struct extcon_dev *rx_excton_rx22;
+ struct extcon_dev *rx_excton_open;
/* wrapper */
unsigned int state;
edid_update_flag = 0;
rx_pkt_initial();
sm_pause = fsmst;
+ extcon_set_state_sync(rx.rx_excton_open, EXTCON_DISP_HDMI, 1);
rx_pr("%s:%d\n", __func__, rx.port);
}
/* when exit hdmi, disable termination & hpd of specific port */
if (disable_port_en)
rx_set_port_hpd(disable_port_num, 0);
+ extcon_set_state_sync(rx.rx_excton_open, EXTCON_DISP_HDMI, 0);
}
void rx_nosig_monitor(void)