Browse Source

drm/exynos: added device object to subdrv's remove callback as argument

when remove callback of exynos_drm_subdrv is called, it could need
device object for sub driver to control things specific to hw such as
runtime pm.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Inki Dae 13 years ago
parent
commit
29cb602532

+ 1 - 1
drivers/gpu/drm/exynos/exynos_drm_core.c

@@ -94,7 +94,7 @@ static void exynos_drm_subdrv_remove(struct drm_device *dev,
 	DRM_DEBUG_DRIVER("%s\n", __FILE__);
 
 	if (subdrv->remove)
-		subdrv->remove(dev);
+		subdrv->remove(dev, subdrv->dev);
 
 	if (subdrv->encoder) {
 		struct drm_encoder *encoder = subdrv->encoder;

+ 1 - 1
drivers/gpu/drm/exynos/exynos_drm_drv.h

@@ -266,7 +266,7 @@ struct exynos_drm_subdrv {
 	struct exynos_drm_manager *manager;
 
 	int (*probe)(struct drm_device *drm_dev, struct device *dev);
-	void (*remove)(struct drm_device *dev);
+	void (*remove)(struct drm_device *drm_dev, struct device *dev);
 	int (*open)(struct drm_device *drm_dev, struct device *dev,
 			struct drm_file *file);
 	void (*close)(struct drm_device *drm_dev, struct device *dev,

+ 1 - 1
drivers/gpu/drm/exynos/exynos_drm_fimd.c

@@ -678,7 +678,7 @@ static int fimd_subdrv_probe(struct drm_device *drm_dev, struct device *dev)
 	return 0;
 }
 
-static void fimd_subdrv_remove(struct drm_device *drm_dev)
+static void fimd_subdrv_remove(struct drm_device *drm_dev, struct device *dev)
 {
 	DRM_DEBUG_KMS("%s\n", __FILE__);
 

+ 1 - 1
drivers/gpu/drm/exynos/exynos_drm_vidi.c

@@ -453,7 +453,7 @@ static int vidi_subdrv_probe(struct drm_device *drm_dev, struct device *dev)
 	return 0;
 }
 
-static void vidi_subdrv_remove(struct drm_device *drm_dev)
+static void vidi_subdrv_remove(struct drm_device *drm_dev, struct device *dev)
 {
 	DRM_DEBUG_KMS("%s\n", __FILE__);