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>
        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;
 
        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,
 
        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__);
 
 
        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__);