Hi Thierry, Ack-by: Vincent Abriou <vincent.abriou@xxxxxx> BR Vicnent On 09/24/2015 07:02 PM, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > There's no use building the individual drivers as separate modules > because they are all only useful if combined into a single DRM/KMS > device. > > Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> > Cc: Vincent Abriou <vincent.abriou@xxxxxx> > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > drivers/gpu/drm/sti/Makefile | 21 +++++++++------------ > drivers/gpu/drm/sti/sti_compositor.c | 4 +--- > drivers/gpu/drm/sti/sti_drv.c | 24 +++++++++++++++++++++++- > drivers/gpu/drm/sti/sti_drv.h | 9 +++++++++ > drivers/gpu/drm/sti/sti_dvo.c | 2 -- > drivers/gpu/drm/sti/sti_hda.c | 2 -- > drivers/gpu/drm/sti/sti_hdmi.c | 2 -- > drivers/gpu/drm/sti/sti_hqvdp.c | 2 -- > drivers/gpu/drm/sti/sti_tvout.c | 2 -- > drivers/gpu/drm/sti/sti_vtac.c | 2 -- > drivers/gpu/drm/sti/sti_vtg.c | 2 -- > 11 files changed, 42 insertions(+), 30 deletions(-) > > diff --git a/drivers/gpu/drm/sti/Makefile b/drivers/gpu/drm/sti/Makefile > index e27490b492a5..b8057620b3b3 100644 > --- a/drivers/gpu/drm/sti/Makefile > +++ b/drivers/gpu/drm/sti/Makefile > @@ -1,26 +1,23 @@ > -sticompositor-y := \ > +sti-drm-y := \ > sti_mixer.o \ > sti_gdp.o \ > sti_vid.o \ > sti_cursor.o \ > sti_compositor.o \ > sti_crtc.o \ > - sti_plane.o > - > -stihdmi-y := sti_hdmi.o \ > + sti_plane.o \ > + sti_crtc.o \ > + sti_plane.o \ > + sti_hdmi.o \ > sti_hdmi_tx3g0c55phy.o \ > sti_hdmi_tx3g4c28phy.o \ > - > -stidvo-y := sti_dvo.o \ > - sti_awg_utils.o > - > -obj-$(CONFIG_DRM_STI) = \ > + sti_dvo.o \ > + sti_awg_utils.o \ > sti_vtg.o \ > sti_vtac.o \ > - stihdmi.o \ > sti_hda.o \ > sti_tvout.o \ > - sticompositor.o \ > sti_hqvdp.o \ > - stidvo.o \ > sti_drv.o > + > +obj-$(CONFIG_DRM_STI) = sti-drm.o > diff --git a/drivers/gpu/drm/sti/sti_compositor.c b/drivers/gpu/drm/sti/sti_compositor.c > index c652627b1bca..afed2171beb9 100644 > --- a/drivers/gpu/drm/sti/sti_compositor.c > +++ b/drivers/gpu/drm/sti/sti_compositor.c > @@ -263,7 +263,7 @@ static int sti_compositor_remove(struct platform_device *pdev) > return 0; > } > > -static struct platform_driver sti_compositor_driver = { > +struct platform_driver sti_compositor_driver = { > .driver = { > .name = "sti-compositor", > .of_match_table = compositor_of_match, > @@ -272,8 +272,6 @@ static struct platform_driver sti_compositor_driver = { > .remove = sti_compositor_remove, > }; > > -module_platform_driver(sti_compositor_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_drv.c b/drivers/gpu/drm/sti/sti_drv.c > index 9f85988a43ce..66f6e9864c99 100644 > --- a/drivers/gpu/drm/sti/sti_drv.c > +++ b/drivers/gpu/drm/sti/sti_drv.c > @@ -287,7 +287,29 @@ static struct platform_driver sti_platform_driver = { > }, > }; > > -module_platform_driver(sti_platform_driver); > +static struct platform_driver * const drivers[] = { > + &sti_tvout_driver, > + &sti_vtac_driver, > + &sti_hqvdp_driver, > + &sti_hdmi_driver, > + &sti_hda_driver, > + &sti_dvo_driver, > + &sti_vtg_driver, > + &sti_compositor_driver, > + &sti_platform_driver, > +}; > + > +static int sti_drm_init(void) > +{ > + return platform_register_drivers(drivers, ARRAY_SIZE(drivers)); > +} > +module_init(sti_drm_init); > + > +static void sti_drm_exit(void) > +{ > + platform_unregister_drivers(drivers, ARRAY_SIZE(drivers)); > +} > +module_exit(sti_drm_exit); > > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > diff --git a/drivers/gpu/drm/sti/sti_drv.h b/drivers/gpu/drm/sti/sti_drv.h > index 9372f69e1859..30ddc20841c3 100644 > --- a/drivers/gpu/drm/sti/sti_drv.h > +++ b/drivers/gpu/drm/sti/sti_drv.h > @@ -32,4 +32,13 @@ struct sti_private { > } commit; > }; > > +extern struct platform_driver sti_tvout_driver; > +extern struct platform_driver sti_vtac_driver; > +extern struct platform_driver sti_hqvdp_driver; > +extern struct platform_driver sti_hdmi_driver; > +extern struct platform_driver sti_hda_driver; > +extern struct platform_driver sti_dvo_driver; > +extern struct platform_driver sti_vtg_driver; > +extern struct platform_driver sti_compositor_driver; > + > #endif > diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c > index d141d645bd13..a619aa9e688d 100644 > --- a/drivers/gpu/drm/sti/sti_dvo.c > +++ b/drivers/gpu/drm/sti/sti_dvo.c > @@ -557,8 +557,6 @@ struct platform_driver sti_dvo_driver = { > .remove = sti_dvo_remove, > }; > > -module_platform_driver(sti_dvo_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c > index 598cd78b0b16..d71abe33722e 100644 > --- a/drivers/gpu/drm/sti/sti_hda.c > +++ b/drivers/gpu/drm/sti/sti_hda.c > @@ -784,8 +784,6 @@ struct platform_driver sti_hda_driver = { > .remove = sti_hda_remove, > }; > > -module_platform_driver(sti_hda_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c > index 09e29e43423e..43954a212bb9 100644 > --- a/drivers/gpu/drm/sti/sti_hdmi.c > +++ b/drivers/gpu/drm/sti/sti_hdmi.c > @@ -901,8 +901,6 @@ struct platform_driver sti_hdmi_driver = { > .remove = sti_hdmi_remove, > }; > > -module_platform_driver(sti_hdmi_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c b/drivers/gpu/drm/sti/sti_hqvdp.c > index 09d86be4f73f..348c7c58f385 100644 > --- a/drivers/gpu/drm/sti/sti_hqvdp.c > +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > @@ -1090,8 +1090,6 @@ struct platform_driver sti_hqvdp_driver = { > .remove = sti_hqvdp_remove, > }; > > -module_platform_driver(sti_hqvdp_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_tvout.c b/drivers/gpu/drm/sti/sti_tvout.c > index c1aac8e66fb5..c8a4c5dae2b6 100644 > --- a/drivers/gpu/drm/sti/sti_tvout.c > +++ b/drivers/gpu/drm/sti/sti_tvout.c > @@ -735,8 +735,6 @@ struct platform_driver sti_tvout_driver = { > .remove = sti_tvout_remove, > }; > > -module_platform_driver(sti_tvout_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_vtac.c b/drivers/gpu/drm/sti/sti_vtac.c > index 97bcdac23ae1..b1eb0d77630d 100644 > --- a/drivers/gpu/drm/sti/sti_vtac.c > +++ b/drivers/gpu/drm/sti/sti_vtac.c > @@ -216,8 +216,6 @@ struct platform_driver sti_vtac_driver = { > .remove = sti_vtac_remove, > }; > > -module_platform_driver(sti_vtac_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/gpu/drm/sti/sti_vtg.c b/drivers/gpu/drm/sti/sti_vtg.c > index 4d8a918db6f5..d8bd8b76b1fa 100644 > --- a/drivers/gpu/drm/sti/sti_vtg.c > +++ b/drivers/gpu/drm/sti/sti_vtg.c > @@ -406,8 +406,6 @@ struct platform_driver sti_vtg_driver = { > .remove = vtg_remove, > }; > > -module_platform_driver(sti_vtg_driver); > - > MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@xxxxxx>"); > MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); > MODULE_LICENSE("GPL"); > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel