aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_encoder_slave.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_encoder_slave.c')
-rw-r--r--drivers/gpu/drm/drm_encoder_slave.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_encoder_slave.c b/drivers/gpu/drm/drm_encoder_slave.c
index 0cfb60f54766..36c0aa740bcd 100644
--- a/drivers/gpu/drm/drm_encoder_slave.c
+++ b/drivers/gpu/drm/drm_encoder_slave.c
@@ -25,6 +25,7 @@
*/
#include <linux/module.h>
+#include <linux/of_i2c.h>
#include <drm/drm_encoder_slave.h>
@@ -61,7 +62,10 @@ int drm_i2c_encoder_init(struct drm_device *dev,
request_module("%s%s", I2C_MODULE_PREFIX, info->type);
- client = i2c_new_device(adap, info);
+ if (info->of_node)
+ client = of_find_i2c_device_by_node(info->of_node);
+ else
+ client = i2c_new_device(adap, info);
if (!client) {
err = -ENOMEM;
goto fail;