|
@@ -206,15 +206,17 @@ int sun4i_rgb_init(struct drm_device *drm)
|
|
struct sun4i_rgb *rgb;
|
|
struct sun4i_rgb *rgb;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- /* If we don't have a panel, there's no point in going on */
|
|
|
|
- if (IS_ERR(tcon->panel))
|
|
|
|
- return -ENODEV;
|
|
|
|
-
|
|
|
|
rgb = devm_kzalloc(drm->dev, sizeof(*rgb), GFP_KERNEL);
|
|
rgb = devm_kzalloc(drm->dev, sizeof(*rgb), GFP_KERNEL);
|
|
if (!rgb)
|
|
if (!rgb)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
rgb->drv = drv;
|
|
rgb->drv = drv;
|
|
|
|
|
|
|
|
+ tcon->panel = sun4i_tcon_find_panel(tcon->dev->of_node);
|
|
|
|
+ if (IS_ERR(tcon->panel)) {
|
|
|
|
+ dev_info(drm->dev, "No panel found... RGB output disabled\n");
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
drm_encoder_helper_add(&rgb->encoder,
|
|
drm_encoder_helper_add(&rgb->encoder,
|
|
&sun4i_rgb_enc_helper_funcs);
|
|
&sun4i_rgb_enc_helper_funcs);
|
|
ret = drm_encoder_init(drm,
|
|
ret = drm_encoder_init(drm,
|