Hello.
Среда, 13 ноября 2013, 10:23 +01:00 от Denis Carikli denis@eukrea.com: ...
--- a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt
...
@@ -139,6 +141,12 @@ static void imx_pd_encoder_prepare(struct drm_encoder *encoder) { struct imx_parallel_display *imxpd = enc_to_imxpd(encoder);
- if (imxpd->disp_reg && !regulator_is_enabled(imxpd->disp_reg)) {
if (!IS_ERR(imxpd->disp_reg) && ...
if (regulator_enable(imxpd->disp_reg))
dev_err(imxpd->dev,
"Failed to enable regulator.\n");
- }
- imx_drm_crtc_panel_format(encoder->crtc, DRM_MODE_ENCODER_NONE, imxpd->interface_pix_fmt);
} @@ -155,6 +163,12 @@ static void imx_pd_encoder_mode_set(struct drm_encoder *encoder,
static void imx_pd_encoder_disable(struct drm_encoder *encoder) {
- struct imx_parallel_display *imxpd = enc_to_imxpd(encoder);
- if (imxpd->disp_reg && regulator_is_enabled(imxpd->disp_reg)) {
if (!IS_ERR(imxpd->disp_reg) && ...
if (regulator_disable(imxpd->disp_reg))
dev_err(imxpd->dev, "Failed to disable regulator.\n");
- }
}
static void imx_pd_encoder_destroy(struct drm_encoder *encoder) @@ -258,6 +272,14 @@ static int imx_pd_probe(struct platform_device *pdev) if (ret) return ret;
- imxpd->disp_reg = devm_regulator_get(&pdev->dev, "display");
- if (IS_ERR(imxpd->disp_reg)) {
if (PTR_ERR(imxpd->disp_reg) == -EPROBE_DEFER) return -EPROBE_DEFER;
dev_warn(&pdev->dev, "Operating without display regulator.\n");
dev_dbg
imxpd->disp_reg = NULL;
No need set this to NULL;
- } else {
dev_info(&pdev->dev, "Using display regulator.\n");
Useless.
...
---