There are more and mroe requirements that SoC specific modules should be built
as module in order to support generic kernel image, such as Android GKI concept.
This patch series supports i.MX8 SoCs pinctrl drivers to be built as module,
including i.MX8MQ/MM/MN/MP/QXP/QM/DXL SoCs, and it also supports building i.MX
common pinctrl driver and i.MX SCU common pinctrl driver as module.
Compared to V1, the changes are as below:
- Separate the i.MX and i.MX SCU common pinctrl driver to 2 patches;
- Support building i.MX and i.MX SCU common pinctrl driver as module too.
Anson Huang (9):
pinctrl: imx: Support building SCU pinctrl driver as module
pinctrl: imx: Support building i.MX pinctrl driver as module
pinctrl: imx8mm: Support building as module
pinctrl: imx8mn: Support building as module
pinctrl: imx8mq: Support building as module
pinctrl: imx8mp: Support building as module
pinctrl: imx8qxp: Support building as module
pinctrl: imx8qm: Support building as module
pinctrl: imx8dxl: Support building as module
drivers/pinctrl/freescale/Kconfig | 18 +++++++++---------
drivers/pinctrl/freescale/pinctrl-imx.c | 4 ++++
drivers/pinctrl/freescale/pinctrl-imx.h | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8dxl.c | 9 +++------
drivers/pinctrl/freescale/pinctrl-imx8mm.c | 10 ++++------
drivers/pinctrl/freescale/pinctrl-imx8mn.c | 10 ++++------
drivers/pinctrl/freescale/pinctrl-imx8mp.c | 10 ++++------
drivers/pinctrl/freescale/pinctrl-imx8mq.c | 9 ++++-----
drivers/pinctrl/freescale/pinctrl-imx8qm.c | 9 +++------
drivers/pinctrl/freescale/pinctrl-imx8qxp.c | 9 +++------
drivers/pinctrl/freescale/pinctrl-scu.c | 6 ++++++
11 files changed, 45 insertions(+), 51 deletions(-)
--
2.7.4
Support building i.MX8DXL pinctrl driver as module.
Signed-off-by: Anson Huang <[email protected]>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8dxl.c | 9 +++------
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 8ab8aa8..18a0f4d 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -166,7 +166,7 @@ config PINCTRL_IMX8QXP
Say Y here to enable the imx8qxp pinctrl driver
config PINCTRL_IMX8DXL
- bool "IMX8DXL pinctrl driver"
+ tristate "IMX8DXL pinctrl driver"
depends on IMX_SCU && ARCH_MXC && ARM64
select PINCTRL_IMX_SCU
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8dxl.c b/drivers/pinctrl/freescale/pinctrl-imx8dxl.c
index 7f32e57..c11fcfb 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8dxl.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8dxl.c
@@ -165,6 +165,7 @@ static const struct of_device_id imx8dxl_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8dxl-iomuxc", },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8dxl_pinctrl_of_match);
static int imx8dxl_pinctrl_probe(struct platform_device *pdev)
{
@@ -185,9 +186,5 @@ static struct platform_driver imx8dxl_pinctrl_driver = {
},
.probe = imx8dxl_pinctrl_probe,
};
-
-static int __init imx8dxl_pinctrl_init(void)
-{
- return platform_driver_register(&imx8dxl_pinctrl_driver);
-}
-arch_initcall(imx8dxl_pinctrl_init);
+module_platform_driver(imx8dxl_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4