Skip to content

Commit

Permalink
drm: platform: Don't initialize driver-private data
Browse files Browse the repository at this point in the history
Platform device drivers usually use the driver-private data for their
own purposes. Having it overwritten by drm_platform_init() is confusing
and error-prone.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
  • Loading branch information
Thierry Reding authored and Dave Airlie committed Oct 23, 2012
1 parent 08bce0a commit a16d4f8
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
1 change: 0 additions & 1 deletion drivers/gpu/drm/drm_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ int drm_get_platform_dev(struct platform_device *platdev,
}

if (drm_core_check_feature(dev, DRIVER_MODESET)) {
dev_set_drvdata(&platdev->dev, dev);
ret = drm_get_minor(dev, &dev->control, DRM_MINOR_CONTROL);
if (ret)
goto err_g1;
Expand Down
12 changes: 5 additions & 7 deletions drivers/gpu/drm/shmobile/shmob_drm_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,8 @@ static int shmob_drm_load(struct drm_device *dev, unsigned long flags)
goto done;
}

platform_set_drvdata(pdev, sdev);

done:
if (ret)
shmob_drm_unload(dev);
Expand Down Expand Up @@ -299,21 +301,17 @@ static struct drm_driver shmob_drm_driver = {
#if CONFIG_PM_SLEEP
static int shmob_drm_pm_suspend(struct device *dev)
{
struct platform_device *pdev = to_platform_device(dev);
struct drm_device *ddev = platform_get_drvdata(pdev);
struct shmob_drm_device *sdev = ddev->dev_private;
struct shmob_drm_device *sdev = dev_get_drvdata(dev);

drm_kms_helper_poll_disable(ddev);
drm_kms_helper_poll_disable(sdev->ddev);
shmob_drm_crtc_suspend(&sdev->crtc);

return 0;
}

static int shmob_drm_pm_resume(struct device *dev)
{
struct platform_device *pdev = to_platform_device(dev);
struct drm_device *ddev = platform_get_drvdata(pdev);
struct shmob_drm_device *sdev = ddev->dev_private;
struct shmob_drm_device *sdev = dev_get_drvdata(dev);

mutex_lock(&sdev->ddev->mode_config.mutex);
shmob_drm_crtc_resume(&sdev->crtc);
Expand Down

0 comments on commit a16d4f8

Please sign in to comment.