[HACK] drm/exynos: Disable regulators
Currently DRM driver doesn't handle deferred probe properly. If
the regulators are not found during HDMI probe, it doesn't retry
later. Since I2C controller is registered as a module driver, the
PMIC client driver also gets registered later. In current build-order,
DRM drivers are registered before the PMIC driver, hence causing
this failure.
The regulators are always-enabled and the regulator operations
from driver is removed.
Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index 05830cb..3ee042a 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -74,8 +74,10 @@
struct clk *sclk_pixel;
struct clk *sclk_hdmiphy;
struct clk *mout_hdmi;
+#if 0
struct regulator_bulk_data *regul_bulk;
int regul_count;
+#endif
};
struct hdmi_tg_regs {
@@ -1425,8 +1427,10 @@
mutex_unlock(&hdata->hdmi_mutex);
+#if 0
if (regulator_bulk_enable(res->regul_count, res->regul_bulk))
DRM_DEBUG_KMS("failed to enable regulator bulk\n");
+#endif
clk_prepare_enable(res->hdmi);
clk_prepare_enable(res->sclk_hdmi);
@@ -1452,7 +1456,9 @@
clk_disable_unprepare(res->sclk_hdmi);
clk_disable_unprepare(res->hdmi);
+#if 0
regulator_bulk_disable(res->regul_count, res->regul_bulk);
+#endif
mutex_lock(&hdata->hdmi_mutex);
@@ -1517,12 +1523,14 @@
{
struct device *dev = hdata->dev;
struct hdmi_resources *res = &hdata->res;
+#if 0
static char *supply[] = {
"hdmi-en",
"vdd",
"vdd_osc",
"vdd_pll",
};
+#endif
int i, ret;
DRM_DEBUG_KMS("HDMI resource init\n");
@@ -1558,6 +1566,7 @@
clk_set_parent(res->mout_hdmi, res->sclk_pixel);
+#if 0
res->regul_bulk = devm_kzalloc(dev, ARRAY_SIZE(supply) *
sizeof(res->regul_bulk[0]), GFP_KERNEL);
if (!res->regul_bulk)
@@ -1572,6 +1581,7 @@
goto fail;
}
res->regul_count = ARRAY_SIZE(supply);
+#endif
return 0;
fail: