drm/exynos: added device object as argument of subdrv_probe().
authorInki Dae <inki.dae@samsung.com>
Fri, 14 Oct 2011 04:29:48 +0000 (13:29 +0900)
committerDave Airlie <airlied@redhat.com>
Tue, 18 Oct 2011 09:01:18 +0000 (10:01 +0100)
sub drivers should refer to its own device object to access
its own context.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dave Airlie <airlied@redhat.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

index edb0ee13cffc3f89047bfb479b8112c2dd039747..661a03571d0c6ba672ea28b8fae172c2a7681a57 100644 (file)
@@ -55,7 +55,7 @@ static int exynos_drm_subdrv_probe(struct drm_device *dev,
                 *
                 * P.S. note that this driver is considered for modularization.
                 */
-               ret = subdrv->probe(dev);
+               ret = subdrv->probe(dev, subdrv->manager.dev);
                if (ret)
                        return ret;
        }
index 4ea137158de3e464fb93ec3f9d1f358d8f9c64f9..002f2925106a375dd70c593979b93e7b5669fadd 100644 (file)
@@ -219,7 +219,7 @@ struct exynos_drm_subdrv {
        struct list_head list;
        struct drm_device *drm_dev;
 
-       int (*probe)(struct drm_device *dev);
+       int (*probe)(struct drm_device *drm_dev, struct device *dev);
        void (*remove)(struct drm_device *dev);
 
        struct exynos_drm_manager manager;
index 9d1138e4fb4e0aa341e6d52f681ec97dbc172763..b0afa849323024f6c6d4a4ee6e546e88550f3b38 100644 (file)
@@ -538,7 +538,7 @@ static irqreturn_t fimd_irq_handler(int irq, void *dev_id)
        return IRQ_HANDLED;
 }
 
-static int fimd_subdrv_probe(struct drm_device *drm_dev)
+static int fimd_subdrv_probe(struct drm_device *drm_dev, struct device *dev)
 {
        struct drm_driver *drm_driver = drm_dev->driver;