diff options
-rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index bbe111e7d00f..cfb3f02f1a68 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c @@ -1291,6 +1291,8 @@ static void imx_ldb_unbind(struct device *dev, struct device *master, kfree(channel->edid); i2c_put_adapter(channel->ddc); } + + dev_set_drvdata(dev, NULL); } static const struct component_ops imx_ldb_ops = { @@ -1316,6 +1318,9 @@ static int imx_ldb_suspend(struct device *dev) struct imx_ldb_channel *channel; int i; + if (imx_ldb == NULL) + return 0; + for (i = 0; i < 2; i++) { channel = &imx_ldb->channel[i]; @@ -1333,6 +1338,9 @@ static int imx_ldb_resume(struct device *dev) struct imx_ldb *imx_ldb = dev_get_drvdata(dev); int i; + if (imx_ldb == NULL) + return 0; + if (imx_ldb->visible_phy) for (i = 0; i < 2; i++) phy_init(imx_ldb->channel[i].phy); |