diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-09-04 09:22:54 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-09-04 09:22:54 -0700 | 
| commit | a6cbfa1e6d38c4b3ab0ce7e3aea4bb4e744f24b8 (patch) | |
| tree | 8960e571a398b5d32e72bdb9c89ce965daa870ab /drivers/gpu/drm/meson | |
| parent | f5308d1b83eba20e69df5e0926ba7257c8dd9074 (diff) | |
| parent | 08d6ac9ee5fedd82040bc878705981b67a116a3f (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 4.14 merge window.
Diffstat (limited to 'drivers/gpu/drm/meson')
| -rw-r--r-- | drivers/gpu/drm/meson/meson_drv.c | 20 | 
1 files changed, 15 insertions, 5 deletions
| diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c index 75382f5f0fce..10b227d83e9a 100644 --- a/drivers/gpu/drm/meson/meson_drv.c +++ b/drivers/gpu/drm/meson/meson_drv.c @@ -152,7 +152,7 @@ static struct regmap_config meson_regmap_config = {  	.max_register   = 0x1000,  }; -static int meson_drv_bind(struct device *dev) +static int meson_drv_bind_master(struct device *dev, bool has_components)  {  	struct platform_device *pdev = to_platform_device(dev);  	struct meson_drm *priv; @@ -233,10 +233,12 @@ static int meson_drv_bind(struct device *dev)  	if (ret)  		goto free_drm; -	ret = component_bind_all(drm->dev, drm); -	if (ret) { -		dev_err(drm->dev, "Couldn't bind all components\n"); -		goto free_drm; +	if (has_components) { +		ret = component_bind_all(drm->dev, drm); +		if (ret) { +			dev_err(drm->dev, "Couldn't bind all components\n"); +			goto free_drm; +		}  	}  	ret = meson_plane_create(priv); @@ -276,6 +278,11 @@ free_drm:  	return ret;  } +static int meson_drv_bind(struct device *dev) +{ +	return meson_drv_bind_master(dev, true); +} +  static void meson_drv_unbind(struct device *dev)  {  	struct drm_device *drm = dev_get_drvdata(dev); @@ -357,6 +364,9 @@ static int meson_drv_probe(struct platform_device *pdev)  		count += meson_probe_remote(pdev, &match, np, remote);  	} +	if (count && !match) +		return meson_drv_bind_master(&pdev->dev, false); +  	/* If some endpoints were found, initialize the nodes */  	if (count) {  		dev_info(&pdev->dev, "Queued %d outputs on vpu\n", count); | 
