drm: rcar-du: Pass the encoder DT node to rcar_du_encoder_init()
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 17 Sep 2014 11:41:57 +0000 (14:41 +0300)
committerSimon Horman <horms+renesas@verge.net.au>
Thu, 11 Dec 2014 01:37:12 +0000 (10:37 +0900)
The encoder DT node will be needed to register an external HDMI encoder.
Pass it to the rcar_du_encoder_init() function to prepare for HDMI
support.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit 3ea4d5ec68fa5dc489ee1e4fe3ff07e4ddf0459d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/gpu/drm/rcar-du/rcar_du_encoder.c
drivers/gpu/drm/rcar-du/rcar_du_encoder.h
drivers/gpu/drm/rcar-du/rcar_du_kms.c

index 89ed4a9..c699100 100644 (file)
@@ -142,7 +142,8 @@ static const struct drm_encoder_funcs encoder_funcs = {
 int rcar_du_encoder_init(struct rcar_du_device *rcdu,
                         enum rcar_du_encoder_type type,
                         enum rcar_du_output output,
-                        struct device_node *np)
+                        struct device_node *enc_node,
+                        struct device_node *con_node)
 {
        struct rcar_du_encoder *renc;
        unsigned int encoder_type;
@@ -190,7 +191,7 @@ int rcar_du_encoder_init(struct rcar_du_device *rcdu,
 
        switch (encoder_type) {
        case DRM_MODE_ENCODER_LVDS:
-               return rcar_du_lvds_connector_init(rcdu, renc, np);
+               return rcar_du_lvds_connector_init(rcdu, renc, con_node);
 
        case DRM_MODE_ENCODER_DAC:
                return rcar_du_vga_connector_init(rcdu, renc);
index c37ed94..4b906b9 100644 (file)
@@ -49,6 +49,7 @@ rcar_du_connector_best_encoder(struct drm_connector *connector);
 int rcar_du_encoder_init(struct rcar_du_device *rcdu,
                         enum rcar_du_encoder_type type,
                         enum rcar_du_output output,
-                        struct device_node *np);
+                        struct device_node *enc_node,
+                        struct device_node *con_node);
 
 #endif /* __RCAR_DU_ENCODER_H__ */
index ef0ed2e..3fca9e0 100644 (file)
@@ -289,7 +289,7 @@ static int rcar_du_encoders_init_one(struct rcar_du_device *rcdu,
                connector = entity;
        }
 
-       ret = rcar_du_encoder_init(rcdu, enc_type, output, connector);
+       ret = rcar_du_encoder_init(rcdu, enc_type, output, encoder, connector);
        of_node_put(encoder);
        of_node_put(connector);