Hi Thierry,
Ack-by: Vincent Abriou vincent.abriou@st.com
BR Vicnent
On 09/24/2015 07:02 PM, Thierry Reding wrote:
From: Thierry Reding treding@nvidia.com
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@linaro.org Cc: Vincent Abriou vincent.abriou@st.com Signed-off-by: Thierry Reding treding@nvidia.com
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@st.com"); 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@st.com"); 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@st.com"); 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@st.com"); 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@st.com"); 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@st.com"); 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@st.com"); 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@st.com"); 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@st.com"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_LICENSE("GPL");