[PATCH] drm: Remove the struct drm_device platformdev field

Daniel Vetter daniel at ffwll.ch
Sun Dec 18 13:16:26 UTC 2016


On Sun, Dec 18, 2016 at 12:39:16AM +0200, Laurent Pinchart wrote:
> The field contains a pointer to the parent platform device of the DRM
> device. As struct drm_device also contains a dev pointer to the struct
> device embedded in the platform_device structure, the platformdev field
> is redundant. Remove it and use the dev pointer directly.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>

Oh sweet.

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/armada/armada_drv.c             | 3 +--
>  drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 5 ++---
>  drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 2 --
>  drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c         | 2 +-
>  drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c         | 2 +-
>  drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c        | 2 +-
>  drivers/gpu/drm/msm/msm_drv.c                   | 1 -
>  drivers/gpu/drm/nouveau/nouveau_drm.c           | 3 +--
>  drivers/gpu/drm/sti/sti_drv.c                   | 2 --
>  drivers/gpu/drm/tilcdc/tilcdc_drv.c             | 1 -
>  include/drm/drmP.h                              | 1 -
>  11 files changed, 7 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
> index 07086b427c22..f6442ed23bcd 100644
> --- a/drivers/gpu/drm/armada/armada_drv.c
> +++ b/drivers/gpu/drm/armada/armada_drv.c
> @@ -154,10 +154,9 @@ static int armada_drm_bind(struct device *dev)
>  		return ret;
>  	}
>  
> -	priv->drm.platformdev = to_platform_device(dev);
>  	priv->drm.dev_private = priv;
>  
> -	platform_set_drvdata(priv->drm.platformdev, &priv->drm);
> +	dev_set_drvdata(dev, &priv->drm);
>  
>  	INIT_WORK(&priv->fb_unref_work, armada_drm_unref_work);
>  	INIT_KFIFO(priv->fb_unref);
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> index afc2b5d2d5f0..ec1c70d1b682 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
> @@ -975,7 +975,7 @@ static int ade_dts_parse(struct platform_device *pdev, struct ade_hw_ctx *ctx)
>  
>  static int ade_drm_init(struct drm_device *dev)
>  {
> -	struct platform_device *pdev = dev->platformdev;
> +	struct platform_device *pdev = to_platform_device(dev->dev);
>  	struct ade_data *ade;
>  	struct ade_hw_ctx *ctx;
>  	struct ade_crtc *acrtc;
> @@ -1036,8 +1036,7 @@ static int ade_drm_init(struct drm_device *dev)
>  
>  static void ade_drm_cleanup(struct drm_device *dev)
>  {
> -	struct platform_device *pdev = dev->platformdev;
> -	struct ade_data *ade = platform_get_drvdata(pdev);
> +	struct ade_data *ade = dev_get_drvdata(dev->dev);
>  	struct drm_crtc *crtc = &ade->acrtc.base;
>  
>  	drm_crtc_cleanup(crtc);
> diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> index ebd5f4fe4c23..842f70251691 100644
> --- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
> @@ -209,8 +209,6 @@ static int kirin_drm_bind(struct device *dev)
>  	if (IS_ERR(drm_dev))
>  		return PTR_ERR(drm_dev);
>  
> -	drm_dev->platformdev = to_platform_device(dev);
> -
>  	ret = kirin_drm_kms_init(drm_dev);
>  	if (ret)
>  		goto err_drm_dev_unref;
> diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
> index b782efd4b95f..e8e14a502d21 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c
> @@ -438,7 +438,7 @@ static int modeset_init(struct mdp4_kms *mdp4_kms)
>  
>  struct msm_kms *mdp4_kms_init(struct drm_device *dev)
>  {
> -	struct platform_device *pdev = dev->platformdev;
> +	struct platform_device *pdev = to_platform_device(dev->dev);
>  	struct mdp4_platform_config *config = mdp4_get_config(pdev);
>  	struct mdp4_kms *mdp4_kms;
>  	struct msm_kms *kms = NULL;
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c
> index 618b2ffed9b4..70eae85cf1de 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.c
> @@ -495,7 +495,7 @@ struct mdp5_cfg_handler *mdp5_cfg_init(struct mdp5_kms *mdp5_kms,
>  		uint32_t major, uint32_t minor)
>  {
>  	struct drm_device *dev = mdp5_kms->dev;
> -	struct platform_device *pdev = dev->platformdev;
> +	struct platform_device *pdev = to_platform_device(dev->dev);
>  	struct mdp5_cfg_handler *cfg_handler;
>  	struct mdp5_cfg_platform *pconfig;
>  	int i, ret = 0;
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c
> index d444a6901fff..f8f48d014978 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_mdss.c
> @@ -160,7 +160,7 @@ void msm_mdss_destroy(struct drm_device *dev)
>  
>  int msm_mdss_init(struct drm_device *dev)
>  {
> -	struct platform_device *pdev = dev->platformdev;
> +	struct platform_device *pdev = to_platform_device(dev->dev);
>  	struct msm_drm_private *priv = dev->dev_private;
>  	struct msm_mdss *mdss;
>  	int ret;
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index e29bb66f55b1..12548642b227 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -364,7 +364,6 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
>  	}
>  
>  	platform_set_drvdata(pdev, ddev);
> -	ddev->platformdev = pdev;
>  
>  	priv = kzalloc(sizeof(*priv), GFP_KERNEL);
>  	if (!priv) {
> diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
> index 59348fc41c77..6082e184007d 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
> @@ -106,7 +106,7 @@ nouveau_name(struct drm_device *dev)
>  	if (dev->pdev)
>  		return nouveau_pci_name(dev->pdev);
>  	else
> -		return nouveau_platform_name(dev->platformdev);
> +		return nouveau_platform_name(to_platform_device(dev->dev));
>  }
>  
>  static int
> @@ -1089,7 +1089,6 @@ nouveau_platform_device_create(const struct nvkm_device_tegra_func *func,
>  		goto err_free;
>  	}
>  
> -	drm->platformdev = pdev;
>  	platform_set_drvdata(pdev, drm);
>  
>  	return drm;
> diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c
> index ff71e25ab5bf..0df0de397d2c 100644
> --- a/drivers/gpu/drm/sti/sti_drv.c
> +++ b/drivers/gpu/drm/sti/sti_drv.c
> @@ -388,8 +388,6 @@ static int sti_bind(struct device *dev)
>  	if (IS_ERR(ddev))
>  		return PTR_ERR(ddev);
>  
> -	ddev->platformdev = to_platform_device(dev);
> -
>  	ret = sti_init(ddev);
>  	if (ret)
>  		goto err_drm_dev_unref;
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.c b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> index bd0a3bd07167..8f7f6a54ee68 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.c
> @@ -245,7 +245,6 @@ static int tilcdc_init(struct drm_driver *ddrv, struct device *dev)
>  	if (IS_ERR(ddev))
>  		return PTR_ERR(ddev);
>  
> -	ddev->platformdev = pdev;
>  	ddev->dev_private = priv;
>  	platform_set_drvdata(pdev, ddev);
>  	drm_mode_config_init(ddev);
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index 0d6c1a13f533..4cc27449d6d7 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -609,7 +609,6 @@ struct drm_device {
>  	struct pci_controller *hose;
>  #endif
>  
> -	struct platform_device *platformdev; /**< Platform device struture */
>  	struct virtio_device *virtdev;
>  
>  	struct drm_sg_mem *sg;	/**< Scatter gather memory */
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list