Message ID | 20180330131553.9060-1-sjoerd.simons@collabora.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 30/03/18 16:15, Sjoerd Simons wrote: > During probe there may not be any connectors yet if e.g. the panel > failed or hasn't been probed yet. I hitting this in practice the panels > probing was being delayed due to using a gpio backlight. > > Fix this by returning -EPROBE_DEFER so the probing will be retried. > > Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> > Sorry that I did not have time to look into this earlier. I do not really like the way this solves the the issue. The problem isn't really about the patch, but the way the old tilcdc internal panel driver works. But since there is no easy way to fix this better, I'll merge the patch and hopefully fix the internal panel module later. BR, Jyri > --- > > drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c > index 1afde61f1247..59f0a44bb6e3 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c > @@ -380,7 +380,7 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev) > if (!priv->external_connector && > ((priv->num_encoders == 0) || (priv->num_connectors == 0))) { > dev_err(dev, "no encoders/connectors found\n"); > - ret = -ENXIO; > + ret = -EPROBE_DEFER; > goto init_failed; > } > >
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c index 1afde61f1247..59f0a44bb6e3 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c @@ -380,7 +380,7 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev) if (!priv->external_connector && ((priv->num_encoders == 0) || (priv->num_connectors == 0))) { dev_err(dev, "no encoders/connectors found\n"); - ret = -ENXIO; + ret = -EPROBE_DEFER; goto init_failed; }
During probe there may not be any connectors yet if e.g. the panel failed or hasn't been probed yet. I hitting this in practice the panels probing was being delayed due to using a gpio backlight. Fix this by returning -EPROBE_DEFER so the probing will be retried. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> --- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)