diff options
Diffstat (limited to 'drivers/gpu/drm/imx/imx-ldb.c')
-rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index 56dd7a9a8e25..dd5312b02a8d 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c | |||
@@ -612,6 +612,9 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) | |||
612 | return PTR_ERR(imx_ldb->regmap); | 612 | return PTR_ERR(imx_ldb->regmap); |
613 | } | 613 | } |
614 | 614 | ||
615 | /* disable LDB by resetting the control register to POR default */ | ||
616 | regmap_write(imx_ldb->regmap, IOMUXC_GPR2, 0); | ||
617 | |||
615 | imx_ldb->dev = dev; | 618 | imx_ldb->dev = dev; |
616 | 619 | ||
617 | if (of_id) | 620 | if (of_id) |
@@ -652,14 +655,14 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) | |||
652 | if (ret || i < 0 || i > 1) | 655 | if (ret || i < 0 || i > 1) |
653 | return -EINVAL; | 656 | return -EINVAL; |
654 | 657 | ||
658 | if (!of_device_is_available(child)) | ||
659 | continue; | ||
660 | |||
655 | if (dual && i > 0) { | 661 | if (dual && i > 0) { |
656 | dev_warn(dev, "dual-channel mode, ignoring second output\n"); | 662 | dev_warn(dev, "dual-channel mode, ignoring second output\n"); |
657 | continue; | 663 | continue; |
658 | } | 664 | } |
659 | 665 | ||
660 | if (!of_device_is_available(child)) | ||
661 | continue; | ||
662 | |||
663 | channel = &imx_ldb->channel[i]; | 666 | channel = &imx_ldb->channel[i]; |
664 | channel->ldb = imx_ldb; | 667 | channel->ldb = imx_ldb; |
665 | channel->chno = i; | 668 | channel->chno = i; |