static int exynos_dp_detect_hpd(struct exynos_dp_device *dp) { int timeout_loop = 0; while (exynos_dp_get_plug_in_status(dp) != 0) { timeout_loop++; if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) { dev_err(dp->dev, "failed to get hpd plug status\n"); return -ETIMEDOUT; } usleep_range(10, 11); } return 0; }
unsigned int exynos_dp_detect_hpd(void) { int timeout_loop = DP_TIMEOUT_LOOP_COUNT; mdelay(2); while (exynos_dp_get_plug_in_status() != 0) { if (timeout_loop == 0) return -1; mdelay(1); timeout_loop--; } return EXYNOS_DP_SUCCESS; }