[PATCH v2] drm/mediatek: Fix void-pointer-to-enum-cast warning

CK Hu (胡俊光) ck.hu at mediatek.com
Sun Jul 9 19:13:38 PDT 2023


Hi, Jason:

On Wed, 2023-06-21 at 15:54 +0800, Jason-JH.Lin wrote:
> 1. Fix build warning message in mtk_disp_ovl_adaptor.c
> > > drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c:415:10:
> 
>   warning: cast to smaller integer type 'enum
> mtk_ovl_adaptor_comp_type'
>   from 'const void *' [-Wvoid-pointer-to-enum-cast]
> 
>   type = (enum mtk_ovl_adaptor_comp_type)of_id->data;
> 
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>          1 warning generated.
> 
> 2. Also fix the same warning message in mtk_drm_drv.c
> > > drivers/gpu/drm/mediatek/mtk_drm_drv.c:832:15:
> 
>    warning: cast to smaller integer type 'enum mtk_ddp_comp_type'
>    from 'const void *' [-Wvoid-pointer-to-enum-cast]
> 
>    comp_type = (enum mtk_ddp_comp_type)of_id->data;
> 
>                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>                1 warning generated.

Reviewed-by: CK Hu <ck.hu at mediatek.com>

> 
> Signed-off-by: Jason-JH.Lin <jason-jh.lin at mediatek.com>
> Fixes: 453c3364632a ("drm/mediatek: Add ovl_adaptor support for
> MT8195")
> Reported-by: kernel test robot <lkp at intel.com>
> Closes: 
> https://lore.kernel.org/oe-kbuild-all/202305042054.ZtWME9OU-lkp@intel.com/
> ---
> V1 -> V2: Add casting to (uintprt_t) before casting from (void *) to
> (enum).
> ---
>  drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 2 +-
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c          | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> index c0a38f5217ee..f2f6a5c01a6d 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
> @@ -426,7 +426,7 @@ static int ovl_adaptor_comp_init(struct device
> *dev, struct component_match **ma
>  			continue;
>  		}
>  
> -		type = (enum mtk_ovl_adaptor_comp_type)of_id->data;
> +		type = (enum
> mtk_ovl_adaptor_comp_type)(uintptr_t)of_id->data;
>  		id = ovl_adaptor_comp_get_id(dev, node, type);
>  		if (id < 0) {
>  			dev_warn(dev, "Skipping unknown component
> %pOF\n",
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 6dcb4ba2466c..80d3bcd315a9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -829,7 +829,7 @@ static int mtk_drm_probe(struct platform_device
> *pdev)
>  			continue;
>  		}
>  
> -		comp_type = (enum mtk_ddp_comp_type)of_id->data;
> +		comp_type = (enum mtk_ddp_comp_type)(uintptr_t)of_id-
> >data;
>  
>  		if (comp_type == MTK_DISP_MUTEX) {
>  			int id;


More information about the Linux-mediatek mailing list