Skip to content

Commit

Permalink
drm/i2c: tda998x: add OF support for finding attached CRTCs
Browse files Browse the repository at this point in the history
Add support to find the attached CRTCs via OF using the newly introduced
helper.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King committed Jan 16, 2015
1 parent 97bf6af commit 5dbcf31
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion drivers/gpu/drm/i2c/tda998x_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <drm/drm_crtc_helper.h>
#include <drm/drm_encoder_slave.h>
#include <drm/drm_edid.h>
#include <drm/drm_of.h>
#include <drm/i2c/tda998x.h>

#define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
Expand Down Expand Up @@ -1515,6 +1516,7 @@ static int tda998x_bind(struct device *dev, struct device *master, void *data)
struct i2c_client *client = to_i2c_client(dev);
struct drm_device *drm = data;
struct tda998x_priv2 *priv;
uint32_t crtcs = 0;
int ret;

priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
Expand All @@ -1523,9 +1525,18 @@ static int tda998x_bind(struct device *dev, struct device *master, void *data)

dev_set_drvdata(dev, priv);

if (dev->of_node)
crtcs = drm_of_find_possible_crtcs(drm, dev->of_node);

/* If no CRTCs were found, fall back to our old behaviour */
if (crtcs == 0) {
dev_warn(dev, "Falling back to first CRTC\n");
crtcs = 1 << 0;
}

priv->base.encoder = &priv->encoder;
priv->connector.interlace_allowed = 1;
priv->encoder.possible_crtcs = 1 << 0;
priv->encoder.possible_crtcs = crtcs;

ret = tda998x_create(client, &priv->base);
if (ret)
Expand Down

0 comments on commit 5dbcf31

Please sign in to comment.