On Mon, Jul 11, 2016 at 4:39 AM, Matthias Brugger <mbrugger@xxxxxxxx> wrote: > 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@xxxxxxxxxxxxxx> >> --- >> 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. fyi, I updated msm-next over the weekend, which should fix this (and an unrelated bisectability issue). I guess it should show up in linux-next soonish.. BR, -R -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html