[PATCH v2 17/25] drm/msm/mdp5: Update compatible strings for MDSS/MDP5
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 > --- > 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
[PATCH v2 17/25] drm/msm/mdp5: Update compatible strings for MDSS/MDP5
On Mon, Jul 11, 2016 at 4:39 AM, Matthias Brugger 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 >> --- >> 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
[PATCH v2 17/25] drm/msm/mdp5: Update compatible strings for MDSS/MDP5
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 --- 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 */ {} }; MODULE_DEVICE_TABLE(of, dt_match); -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation