forked from luck/tmp_suning_uos_patched
Three fixups
- fix a kernel oops problem in case that driver is loaded as module. - fix a regulator warning issue when I2C DDC adapter cannot be gathered. - print out an error message only in error case excepting -EPROBE_DEFER. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJeXJEIAAoJEFc4NIkMQxK4epQQALcsteZXJrf7ZTC9jvpXiU2e WMH1eAmGYuQaFY3tYSptUT70Lo7z7DLNBVCRfTpy+ryWDWBmlKGoUJ7NMWnbHmWi xyZAcR23ytwI3W+sF302Nd7C0Dza6PFeMrfO0kof2IzvzCcAGLFh2+nR1zwzBzF8 ZfhEUZ/QwCguiSRngY/RNmY+FXUoUGewx2IqBiD3x6oE3IardW6iBgmmf3GiPMTZ KAkWZ10iqA5uS9hS4UXe/rIdBgDXlbxJZ7koMkGP3FFw8z7reKgD9M+VFN8LMHv9 M9VAd46/0xe5SVPVia78R5CL9GCBrATTvUcixm7+a8ctxqsMnkfrwF0EhJnO4If4 TAzezFAgFIsUlOPGmAs1XJyHmYhKa7inEpnHNHH5tR6mpXZdv0SKP7fBCjmSBThm VIIysumBU8hDVBN+FGmYvJxi73/6mQC8KGUw87KDll3JNvodhyd52H6KIcVr755w EuX8SK8FaXK2DRP+ZP9STcOoTDdksYLI99BCz4cHB3XWpK6Eb1BcLDRkqo9JSGiy zFPyp2YBfqHx07PKwxeNuloPHniQePfx60W9cPMoZ6NjuiNzoDivIRvMuAj4LDjb GhGo0cza6I8UX2fol2J4kRRgIo5Sipcz/bIaohMceeT5LWDln2nUHO84eVaDKB9M iCA+M8st97uJkBd1zzYO =7bIK -----END PGP SIGNATURE----- Merge tag 'exynos-drm-fixes-for-v5.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes Three fixups - fix a kernel oops problem in case that driver is loaded as module. - fix a regulator warning issue when I2C DDC adapter cannot be gathered. - print out an error message only in error case excepting -EPROBE_DEFER. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Inki Dae <inki.dae@samsung.com> Link: https://patchwork.freedesktop.org/patch/msgid/1583126752-30477-1-git-send-email-inki.dae@samsung.com
This commit is contained in:
commit
755d7a928a
|
@ -1773,8 +1773,9 @@ static int exynos_dsi_probe(struct platform_device *pdev)
|
|||
ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(dsi->supplies),
|
||||
dsi->supplies);
|
||||
if (ret) {
|
||||
dev_info(dev, "failed to get regulators: %d\n", ret);
|
||||
return -EPROBE_DEFER;
|
||||
if (ret != -EPROBE_DEFER)
|
||||
dev_info(dev, "failed to get regulators: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
dsi->clks = devm_kcalloc(dev,
|
||||
|
@ -1787,9 +1788,10 @@ static int exynos_dsi_probe(struct platform_device *pdev)
|
|||
dsi->clks[i] = devm_clk_get(dev, clk_names[i]);
|
||||
if (IS_ERR(dsi->clks[i])) {
|
||||
if (strcmp(clk_names[i], "sclk_mipi") == 0) {
|
||||
strcpy(clk_names[i], OLD_SCLK_MIPI_CLK_NAME);
|
||||
i--;
|
||||
continue;
|
||||
dsi->clks[i] = devm_clk_get(dev,
|
||||
OLD_SCLK_MIPI_CLK_NAME);
|
||||
if (!IS_ERR(dsi->clks[i]))
|
||||
continue;
|
||||
}
|
||||
|
||||
dev_info(dev, "failed to get the clock: %s\n",
|
||||
|
|
|
@ -1805,18 +1805,10 @@ static int hdmi_resources_init(struct hdmi_context *hdata)
|
|||
|
||||
hdata->reg_hdmi_en = devm_regulator_get_optional(dev, "hdmi-en");
|
||||
|
||||
if (PTR_ERR(hdata->reg_hdmi_en) != -ENODEV) {
|
||||
if (PTR_ERR(hdata->reg_hdmi_en) != -ENODEV)
|
||||
if (IS_ERR(hdata->reg_hdmi_en))
|
||||
return PTR_ERR(hdata->reg_hdmi_en);
|
||||
|
||||
ret = regulator_enable(hdata->reg_hdmi_en);
|
||||
if (ret) {
|
||||
DRM_DEV_ERROR(dev,
|
||||
"failed to enable hdmi-en regulator\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return hdmi_bridge_init(hdata);
|
||||
}
|
||||
|
||||
|
@ -2023,6 +2015,15 @@ static int hdmi_probe(struct platform_device *pdev)
|
|||
}
|
||||
}
|
||||
|
||||
if (!IS_ERR(hdata->reg_hdmi_en)) {
|
||||
ret = regulator_enable(hdata->reg_hdmi_en);
|
||||
if (ret) {
|
||||
DRM_DEV_ERROR(dev,
|
||||
"failed to enable hdmi-en regulator\n");
|
||||
goto err_hdmiphy;
|
||||
}
|
||||
}
|
||||
|
||||
pm_runtime_enable(dev);
|
||||
|
||||
audio_infoframe = &hdata->audio.infoframe;
|
||||
|
@ -2047,7 +2048,8 @@ static int hdmi_probe(struct platform_device *pdev)
|
|||
|
||||
err_rpm_disable:
|
||||
pm_runtime_disable(dev);
|
||||
|
||||
if (!IS_ERR(hdata->reg_hdmi_en))
|
||||
regulator_disable(hdata->reg_hdmi_en);
|
||||
err_hdmiphy:
|
||||
if (hdata->hdmiphy_port)
|
||||
put_device(&hdata->hdmiphy_port->dev);
|
||||
|
|
Loading…
Reference in New Issue
Block a user