[PATCH v2 17/25] drm/msm/mdp5: Update compatible strings for MDSS/MDP5

Matthias Brugger mbrugger at suse.com
Mon Jul 11 08:39:38 UTC 2016


On 23/06/16 16:13, Archit Taneja wrote:
> Introduce new compatible strings for the top level MDSS wrapper device,
> and the MDP5 device.
>
> Previously, the "qcom,mdp5" and "qcom,mdss_mdp" compatible strings
> were used to match the top level platform_device (which was also tied
> to the top level drm_device struct). Now, these strings are used
> to match the MDP5 platform device.
>
> Use "qcom,mdss" as the compatible string for top level MDSS device.
> This is now used to match the top level platform_device (which is
> tied to the drm_device struct).
>
> Signed-off-by: Archit Taneja <architt at codeaurora.org>
> ---
>   drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 10 +++++++++-
>   drivers/gpu/drm/msm/msm_drv.c           |  6 ++----
>   2 files changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
> index 174d7e7..a2bd6a4 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c
> @@ -809,12 +809,20 @@ static int mdp5_dev_remove(struct platform_device *pdev)
>   	return 0;
>   }
>
> +static const struct of_device_id dt_match[] = {
> +	{ .compatible = "qcom,mdp5", },
> +	/* to support downstream DT files */
> +	{ .compatible = "qcom,mdss_mdp", },
> +	{}
> +};
> +MODULE_DEVICE_TABLE(of, dt_match);
> +
>   static struct platform_driver mdp5_driver = {
>   	.probe = mdp5_dev_probe,
>   	.remove = mdp5_dev_remove,
>   	.driver = {
>   		.name = "msm_mdp",
> -		/* Add a DT match field once we move to new hierarchy */
> +		.of_match_table = dt_match,
>   	},
>   };
>
> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> index be8f73a..f133dd5 100644
> --- a/drivers/gpu/drm/msm/msm_drv.c
> +++ b/drivers/gpu/drm/msm/msm_drv.c
> @@ -992,10 +992,8 @@ static int msm_pdev_remove(struct platform_device *pdev)
>   }
>
>   static const struct of_device_id dt_match[] = {
> -	{ .compatible = "qcom,mdp4", .data = (void *) 4 },	/* mdp4 */
> -	{ .compatible = "qcom,mdp5", .data = (void *) 5 },	/* mdp5 */
> -	/* to support downstream DT files */
> -	{ .compatible = "qcom,mdss_mdp", .data = (void *) 5 },  /* mdp5 */
> +	{ .compatible = "qcom,mdp4", .data = (void *)4 },	/* MDP4 */
> +	{ .compatible = "qcom,mdss", .data = (void *)5 },	/* MDP5 MDSS */

This seems to break linux-next:
[ 3945s]   CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ioctl.o
[ 3947s]   LD [M]  drivers/gpu/drm/msm/msm.o
[ 3947s] drivers/gpu/drm/msm/msm_drv.o:(.rodata+0x300): multiple 
definition of `__mod_of__dt_match_device_table'
[ 3947s] drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.o:(.rodata+0x1b0): first 
defined here
[ 3947s] make[6]: *** [../scripts/Makefile.build:427: 
drivers/gpu/drm/msm/msm.o] Error 1
[ 3947s] make[5]: *** [../scripts/Makefile.build:440: 
drivers/gpu/drm/msm] Error 2
[ 3947s] make[5]: *** Waiting for unfinished jobs....

Reverting commit b71a717c955a ("drm/msm/mdp5: Update compatible strings 
for MDSS/MDP5") fixes the compilation error.

Regards,
Matthias


More information about the dri-devel mailing list