[PATCH v3 08/13] drm: bridge: samsung-dsim: Add module init, exit
Jagan Teki
jagan at amarulasolutions.com
Wed Jul 20 15:52:05 UTC 2022
Add module init and exit functions for the bridge to register
and unregister dsi_driver.
Exynos drm driver stack will register the platform_driver separately
in the common of it's exynos_drm_drv.c including dsi_driver.
Register again would return -EBUSY, so return 0 for such cases as
dsi_driver is already registered.
v3, v2, v1:
* none
Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
---
drivers/gpu/drm/bridge/samsung-dsim.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge/samsung-dsim.c
index 5eb594ea0bdf..5a0fea30e9e8 100644
--- a/drivers/gpu/drm/bridge/samsung-dsim.c
+++ b/drivers/gpu/drm/bridge/samsung-dsim.c
@@ -1737,6 +1737,28 @@ struct platform_driver dsi_driver = {
},
};
+static int __init samsung_mipi_dsim_init(void)
+{
+ int ret;
+
+ ret = platform_driver_register(&dsi_driver);
+
+ /**
+ * Exynos drm driver stack will register the platform_driver
+ * separately in the common of it's exynos_drm_drv.c including
+ * dsi_driver. Register again would return -EBUSY, so return 0
+ * for such cases as dsi_driver is already registered.
+ */
+ return ret == -EBUSY ? 0 : ret;
+}
+module_init(samsung_mipi_dsim_init);
+
+static void __exit samsung_mipi_dsim_exit(void)
+{
+ platform_driver_unregister(&dsi_driver);
+}
+module_exit(samsung_mipi_dsim_exit);
+
MODULE_AUTHOR("Jagan Teki <jagan at amarulasolutions.com>");
MODULE_DESCRIPTION("Samsung MIPI DSIM controller bridge");
MODULE_LICENSE("GPL");
--
2.25.1
More information about the dri-devel
mailing list