提交 a31f6ecf 编写于 作者: J Joonyoung Shim 提交者: Dave Airlie

drm/exynos: add is_local member in exynos_drm_subdrv struct

The is_local member indicates unused subdrv such connector and encoder
so doesn't make resources for them.
Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: NInki Dae <inki.dae@samsung.com>
Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 9084f7b8
...@@ -59,6 +59,9 @@ static int exynos_drm_subdrv_probe(struct drm_device *dev, ...@@ -59,6 +59,9 @@ static int exynos_drm_subdrv_probe(struct drm_device *dev,
return ret; return ret;
} }
if (subdrv->is_local)
return 0;
/* create and initialize a encoder for this sub driver. */ /* create and initialize a encoder for this sub driver. */
encoder = exynos_drm_encoder_create(dev, &subdrv->manager, encoder = exynos_drm_encoder_create(dev, &subdrv->manager,
(1 << MAX_CRTC) - 1); (1 << MAX_CRTC) - 1);
......
...@@ -225,6 +225,7 @@ struct exynos_drm_private { ...@@ -225,6 +225,7 @@ struct exynos_drm_private {
* @list: sub driver has its own list object to register to exynos drm driver. * @list: sub driver has its own list object to register to exynos drm driver.
* @drm_dev: pointer to drm_device and this pointer would be set * @drm_dev: pointer to drm_device and this pointer would be set
* when sub driver calls exynos_drm_subdrv_register(). * when sub driver calls exynos_drm_subdrv_register().
* @is_local: appear encoder and connector disrelated device.
* @probe: this callback would be called by exynos drm driver after * @probe: this callback would be called by exynos drm driver after
* subdrv is registered to it. * subdrv is registered to it.
* @remove: this callback is used to release resources created * @remove: this callback is used to release resources created
...@@ -239,6 +240,7 @@ struct exynos_drm_private { ...@@ -239,6 +240,7 @@ struct exynos_drm_private {
struct exynos_drm_subdrv { struct exynos_drm_subdrv {
struct list_head list; struct list_head list;
struct drm_device *drm_dev; struct drm_device *drm_dev;
bool is_local;
int (*probe)(struct drm_device *drm_dev, struct device *dev); int (*probe)(struct drm_device *drm_dev, struct device *dev);
void (*remove)(struct drm_device *dev); void (*remove)(struct drm_device *dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册