Commit dcec16ef authored by Thierry Reding's avatar Thierry Reding Committed by Vincent Abriou

drm/sti: Build monolithic driver

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: default avatarThierry Reding <treding@nvidia.com>
Reviewed-by: default avatarVincent Abriou <vincent.abriou@st.com>
parent 2388693e
sticompositor-y := \ sti-drm-y := \
sti_mixer.o \ sti_mixer.o \
sti_gdp.o \ sti_gdp.o \
sti_vid.o \ sti_vid.o \
sti_cursor.o \ sti_cursor.o \
sti_compositor.o \ sti_compositor.o \
sti_crtc.o \ sti_crtc.o \
sti_plane.o sti_plane.o \
sti_crtc.o \
stihdmi-y := sti_hdmi.o \ sti_plane.o \
sti_hdmi.o \
sti_hdmi_tx3g0c55phy.o \ sti_hdmi_tx3g0c55phy.o \
sti_hdmi_tx3g4c28phy.o \ sti_hdmi_tx3g4c28phy.o \
sti_dvo.o \
stidvo-y := sti_dvo.o \ sti_awg_utils.o \
sti_awg_utils.o
obj-$(CONFIG_DRM_STI) = \
sti_vtg.o \ sti_vtg.o \
sti_vtac.o \ sti_vtac.o \
stihdmi.o \
sti_hda.o \ sti_hda.o \
sti_tvout.o \ sti_tvout.o \
sticompositor.o \
sti_hqvdp.o \ sti_hqvdp.o \
stidvo.o \
sti_drv.o sti_drv.o
obj-$(CONFIG_DRM_STI) = sti-drm.o
...@@ -263,7 +263,7 @@ static int sti_compositor_remove(struct platform_device *pdev) ...@@ -263,7 +263,7 @@ static int sti_compositor_remove(struct platform_device *pdev)
return 0; return 0;
} }
static struct platform_driver sti_compositor_driver = { struct platform_driver sti_compositor_driver = {
.driver = { .driver = {
.name = "sti-compositor", .name = "sti-compositor",
.of_match_table = compositor_of_match, .of_match_table = compositor_of_match,
...@@ -272,8 +272,6 @@ static struct platform_driver sti_compositor_driver = { ...@@ -272,8 +272,6 @@ static struct platform_driver sti_compositor_driver = {
.remove = sti_compositor_remove, .remove = sti_compositor_remove,
}; };
module_platform_driver(sti_compositor_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -287,7 +287,29 @@ static struct platform_driver sti_platform_driver = { ...@@ -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_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
......
...@@ -32,4 +32,13 @@ struct sti_private { ...@@ -32,4 +32,13 @@ struct sti_private {
} commit; } 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 #endif
...@@ -558,8 +558,6 @@ struct platform_driver sti_dvo_driver = { ...@@ -558,8 +558,6 @@ struct platform_driver sti_dvo_driver = {
.remove = sti_dvo_remove, .remove = sti_dvo_remove,
}; };
module_platform_driver(sti_dvo_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -785,8 +785,6 @@ struct platform_driver sti_hda_driver = { ...@@ -785,8 +785,6 @@ struct platform_driver sti_hda_driver = {
.remove = sti_hda_remove, .remove = sti_hda_remove,
}; };
module_platform_driver(sti_hda_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -902,8 +902,6 @@ struct platform_driver sti_hdmi_driver = { ...@@ -902,8 +902,6 @@ struct platform_driver sti_hdmi_driver = {
.remove = sti_hdmi_remove, .remove = sti_hdmi_remove,
}; };
module_platform_driver(sti_hdmi_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -1090,8 +1090,6 @@ struct platform_driver sti_hqvdp_driver = { ...@@ -1090,8 +1090,6 @@ struct platform_driver sti_hqvdp_driver = {
.remove = sti_hqvdp_remove, .remove = sti_hqvdp_remove,
}; };
module_platform_driver(sti_hqvdp_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -735,8 +735,6 @@ struct platform_driver sti_tvout_driver = { ...@@ -735,8 +735,6 @@ struct platform_driver sti_tvout_driver = {
.remove = sti_tvout_remove, .remove = sti_tvout_remove,
}; };
module_platform_driver(sti_tvout_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -216,8 +216,6 @@ struct platform_driver sti_vtac_driver = { ...@@ -216,8 +216,6 @@ struct platform_driver sti_vtac_driver = {
.remove = sti_vtac_remove, .remove = sti_vtac_remove,
}; };
module_platform_driver(sti_vtac_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -406,8 +406,6 @@ struct platform_driver sti_vtg_driver = { ...@@ -406,8 +406,6 @@ struct platform_driver sti_vtg_driver = {
.remove = vtg_remove, .remove = vtg_remove,
}; };
module_platform_driver(sti_vtg_driver);
MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>"); MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaignard@st.com>");
MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver"); MODULE_DESCRIPTION("STMicroelectronics SoC DRM driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment