drm/exynos: added device object to subdrv's remove callback as argument
authorInki Dae <inki.dae@samsung.com>
Wed, 5 Sep 2012 05:12:06 +0000 (14:12 +0900)
committerInki Dae <inki.dae@samsung.com>
Thu, 4 Oct 2012 01:05:59 +0000 (10:05 +0900)
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>
drivers/gpu/drm/exynos/exynos_drm_core.c
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_fimd.c
drivers/gpu/drm/exynos/exynos_drm_vidi.c

index 84dd099eae3b93cfa49e733d42353e1a0d0e12e4..80cba2f413f4d07fc43c903eb91889768db5c930 100644 (file)
@@ -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;
index e22704b249d75782def8345dca75b5e51d60715d..24c45d86bab01423c7a2281276e179764a8ea2a1 100644 (file)
@@ -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,
index b19cd93e70472b325224611d5725614c33f72f83..47396e13b4602a83c31a70f6100f2902bdda3ec5 100644 (file)
@@ -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__);
 
index e364165f1a2acc52a2a2f0ba8a62b18e5ea43706..c95f7dedb8a08b3186f765503c63953434210efe 100644 (file)
@@ -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__);