* [PATCH V2 1/9] pinctrl: imx: Support building SCU pinctrl driver as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 2/9] pinctrl: imx: Support building i.MX " Anson Huang
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Export necessary functions and use "IS_ENABLED" instead of "ifdef"
to support SCU pinctrl driver user and itself to be built as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
Changes since V1:
- Separate i.MX and i.MX SCU pinctrl driver to 2 patches;
- Support building i.MX SCU pinctrl driver itself as module.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx.h | 2 +-
drivers/pinctrl/freescale/pinctrl-scu.c | 6 ++++++
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 4ca44dd..a3a30f1d 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -7,7 +7,7 @@ config PINCTRL_IMX
select REGMAP
config PINCTRL_IMX_SCU
- bool
+ tristate "IMX SCU pinctrl driver"
depends on IMX_SCU
select PINCTRL_IMX
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.h b/drivers/pinctrl/freescale/pinctrl-imx.h
index 333d32b..4e93f12 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.h
+++ b/drivers/pinctrl/freescale/pinctrl-imx.h
@@ -137,7 +137,7 @@ struct imx_pinctrl {
int imx_pinctrl_probe(struct platform_device *pdev,
const struct imx_pinctrl_soc_info *info);
-#ifdef CONFIG_PINCTRL_IMX_SCU
+#if IS_ENABLED(CONFIG_PINCTRL_IMX_SCU)
#define BM_PAD_CTL_GP_ENABLE BIT(30)
#define BM_PAD_CTL_IFMUX_ENABLE BIT(31)
#define BP_PAD_CTL_IFMUX 27
diff --git a/drivers/pinctrl/freescale/pinctrl-scu.c b/drivers/pinctrl/freescale/pinctrl-scu.c
index 23cf04b..35efd5c 100644
--- a/drivers/pinctrl/freescale/pinctrl-scu.c
+++ b/drivers/pinctrl/freescale/pinctrl-scu.c
@@ -7,6 +7,7 @@
#include <linux/err.h>
#include <linux/firmware/imx/sci.h>
+#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/platform_device.h>
@@ -41,6 +42,7 @@ int imx_pinctrl_sc_ipc_init(struct platform_device *pdev)
{
return imx_scu_get_handle(&pinctrl_ipc_handle);
}
+EXPORT_SYMBOL_GPL(imx_pinctrl_sc_ipc_init);
int imx_pinconf_get_scu(struct pinctrl_dev *pctldev, unsigned pin_id,
unsigned long *config)
@@ -66,6 +68,7 @@ int imx_pinconf_get_scu(struct pinctrl_dev *pctldev, unsigned pin_id,
return 0;
}
+EXPORT_SYMBOL_GPL(imx_pinconf_get_scu);
int imx_pinconf_set_scu(struct pinctrl_dev *pctldev, unsigned pin_id,
unsigned long *configs, unsigned num_configs)
@@ -101,6 +104,7 @@ int imx_pinconf_set_scu(struct pinctrl_dev *pctldev, unsigned pin_id,
return ret;
}
+EXPORT_SYMBOL_GPL(imx_pinconf_set_scu);
void imx_pinctrl_parse_pin_scu(struct imx_pinctrl *ipctl,
unsigned int *pin_id, struct imx_pin *pin,
@@ -119,3 +123,5 @@ void imx_pinctrl_parse_pin_scu(struct imx_pinctrl *ipctl,
dev_dbg(ipctl->dev, "%s: 0x%x 0x%08lx", info->pins[pin->pin].name,
pin_scu->mux_mode, pin_scu->config);
}
+EXPORT_SYMBOL_GPL(imx_pinctrl_parse_pin_scu);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 2/9] pinctrl: imx: Support building i.MX pinctrl driver as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
2020-06-08 14:37 ` [PATCH V2 1/9] pinctrl: imx: Support building SCU pinctrl driver " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 20:10 ` kernel test robot
2020-06-08 14:37 ` [PATCH V2 3/9] pinctrl: imx8mm: Support building " Anson Huang
` (6 subsequent siblings)
8 siblings, 1 reply; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Export necessary functions to support building i.MX common pinctrl
driver and its user to be built as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
Changes since V1:
- Separate i.MX and i.MX SCU pinctrl driver to 2 patches;
- Support building i.MX common pinctrl driver itself as module.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index a3a30f1d..58d48df 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
config PINCTRL_IMX
- bool
+ tristate "IMX pinctrl driver"
select GENERIC_PINCTRL_GROUPS
select GENERIC_PINMUX_FUNCTIONS
select GENERIC_PINCONF
diff --git a/drivers/pinctrl/freescale/pinctrl-imx.c b/drivers/pinctrl/freescale/pinctrl-imx.c
index cb7e0f0..116d808 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx.c
@@ -11,6 +11,7 @@
#include <linux/init.h>
#include <linux/io.h>
#include <linux/mfd/syscon.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_address.h>
@@ -878,6 +879,7 @@ int imx_pinctrl_probe(struct platform_device *pdev,
return pinctrl_enable(ipctl->pctl);
}
+EXPORT_SYMBOL_GPL(imx_pinctrl_probe);
static int __maybe_unused imx_pinctrl_suspend(struct device *dev)
{
@@ -897,3 +899,5 @@ const struct dev_pm_ops imx_pinctrl_pm_ops = {
SET_LATE_SYSTEM_SLEEP_PM_OPS(imx_pinctrl_suspend,
imx_pinctrl_resume)
};
+EXPORT_SYMBOL_GPL(imx_pinctrl_pm_ops);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH V2 2/9] pinctrl: imx: Support building i.MX pinctrl driver as module
2020-06-08 14:37 ` [PATCH V2 2/9] pinctrl: imx: Support building i.MX " Anson Huang
@ 2020-06-08 20:10 ` kernel test robot
0 siblings, 0 replies; 11+ messages in thread
From: kernel test robot @ 2020-06-08 20:10 UTC (permalink / raw)
To: Anson Huang, aisheng.dong, festevam, shawnguo, stefan, kernel,
linus.walleij, s.hauer, linux-gpio, linux-kernel,
linux-arm-kernel
Cc: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3476 bytes --]
Hi Anson,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pinctrl/devel]
[also build test ERROR on v5.7 next-20200608]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Anson-Huang/Support-i-MX8-SoCs-pinctrl-drivers-built-as-module/20200608-225055
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: x86_64-randconfig-s032-20200609 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-247-gcadbd124-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
drivers/pinctrl/freescale/pinctrl-imx.c: In function 'imx_pinconf_parse_generic_config':
>> drivers/pinctrl/freescale/pinctrl-imx.c:341:8: error: implicit declaration of function 'pinconf_generic_parse_dt_config'; did you mean 'pinconf_generic_dump_config'? [-Werror=implicit-function-declaration]
341 | ret = pinconf_generic_parse_dt_config(np, pctl, &configs,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| pinconf_generic_dump_config
cc1: some warnings being treated as errors
vim +341 drivers/pinctrl/freescale/pinctrl-imx.c
a5cadbbb081cb84 Dong Aisheng 2017-05-19 328
a5cadbbb081cb84 Dong Aisheng 2017-05-19 329 static u32 imx_pinconf_parse_generic_config(struct device_node *np,
a5cadbbb081cb84 Dong Aisheng 2017-05-19 330 struct imx_pinctrl *ipctl)
a5cadbbb081cb84 Dong Aisheng 2017-05-19 331 {
f5843492ecefcf7 Stefan Agner 2018-01-06 332 const struct imx_pinctrl_soc_info *info = ipctl->info;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 333 struct pinctrl_dev *pctl = ipctl->pctl;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 334 unsigned int num_configs;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 335 unsigned long *configs;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 336 int ret;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 337
a5cadbbb081cb84 Dong Aisheng 2017-05-19 338 if (!info->generic_pinconf)
a5cadbbb081cb84 Dong Aisheng 2017-05-19 339 return 0;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 340
a5cadbbb081cb84 Dong Aisheng 2017-05-19 @341 ret = pinconf_generic_parse_dt_config(np, pctl, &configs,
a5cadbbb081cb84 Dong Aisheng 2017-05-19 342 &num_configs);
a5cadbbb081cb84 Dong Aisheng 2017-05-19 343 if (ret)
a5cadbbb081cb84 Dong Aisheng 2017-05-19 344 return 0;
a5cadbbb081cb84 Dong Aisheng 2017-05-19 345
a5cadbbb081cb84 Dong Aisheng 2017-05-19 346 return imx_pinconf_decode_generic_config(ipctl, configs, num_configs);
a5cadbbb081cb84 Dong Aisheng 2017-05-19 347 }
a5cadbbb081cb84 Dong Aisheng 2017-05-19 348
:::::: The code at line 341 was first introduced by commit
:::::: a5cadbbb081cb84a9fdb14391fb461a41f089a0a pinctrl: imx: add generic pin config core support
:::::: TO: Dong Aisheng <aisheng.dong@nxp.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37232 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH V2 3/9] pinctrl: imx8mm: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
2020-06-08 14:37 ` [PATCH V2 1/9] pinctrl: imx: Support building SCU pinctrl driver " Anson Huang
2020-06-08 14:37 ` [PATCH V2 2/9] pinctrl: imx: Support building i.MX " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 4/9] pinctrl: imx8mn: " Anson Huang
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8MM pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8mm.c | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 58d48df..baa7e70 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -124,7 +124,7 @@ config PINCTRL_IMX7ULP
Say Y here to enable the imx7ulp pinctrl driver
config PINCTRL_IMX8MM
- bool "IMX8MM pinctrl driver"
+ tristate "IMX8MM pinctrl driver"
depends on ARCH_MXC
select PINCTRL_IMX
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8mm.c b/drivers/pinctrl/freescale/pinctrl-imx8mm.c
index 6d1038a..eca1424 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8mm.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8mm.c
@@ -5,6 +5,7 @@
#include <linux/err.h>
#include <linux/init.h>
+#include <linux/module.h>
#include <linux/of_device.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/platform_device.h>
@@ -326,6 +327,7 @@ static const struct of_device_id imx8mm_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8mm-iomuxc", .data = &imx8mm_pinctrl_info, },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8mm_pinctrl_of_match);
static int imx8mm_pinctrl_probe(struct platform_device *pdev)
{
@@ -340,9 +342,5 @@ static struct platform_driver imx8mm_pinctrl_driver = {
},
.probe = imx8mm_pinctrl_probe,
};
-
-static int __init imx8mm_pinctrl_init(void)
-{
- return platform_driver_register(&imx8mm_pinctrl_driver);
-}
-arch_initcall(imx8mm_pinctrl_init);
+module_platform_driver(imx8mm_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 4/9] pinctrl: imx8mn: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
` (2 preceding siblings ...)
2020-06-08 14:37 ` [PATCH V2 3/9] pinctrl: imx8mm: Support building " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 5/9] pinctrl: imx8mq: " Anson Huang
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8MN pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8mn.c | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index baa7e70..4bb6aeb 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -131,7 +131,7 @@ config PINCTRL_IMX8MM
Say Y here to enable the imx8mm pinctrl driver
config PINCTRL_IMX8MN
- bool "IMX8MN pinctrl driver"
+ tristate "IMX8MN pinctrl driver"
depends on ARCH_MXC
select PINCTRL_IMX
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8mn.c b/drivers/pinctrl/freescale/pinctrl-imx8mn.c
index 100ed8c..b6db780 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8mn.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8mn.c
@@ -5,6 +5,7 @@
#include <linux/err.h>
#include <linux/init.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/platform_device.h>
@@ -326,6 +327,7 @@ static const struct of_device_id imx8mn_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8mn-iomuxc", .data = &imx8mn_pinctrl_info, },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8mn_pinctrl_of_match);
static int imx8mn_pinctrl_probe(struct platform_device *pdev)
{
@@ -340,9 +342,5 @@ static struct platform_driver imx8mn_pinctrl_driver = {
},
.probe = imx8mn_pinctrl_probe,
};
-
-static int __init imx8mn_pinctrl_init(void)
-{
- return platform_driver_register(&imx8mn_pinctrl_driver);
-}
-arch_initcall(imx8mn_pinctrl_init);
+module_platform_driver(imx8mn_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 5/9] pinctrl: imx8mq: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
` (3 preceding siblings ...)
2020-06-08 14:37 ` [PATCH V2 4/9] pinctrl: imx8mn: " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 6/9] pinctrl: imx8mp: " Anson Huang
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8MQ pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8mq.c | 9 ++++-----
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 4bb6aeb..f194996 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -145,7 +145,7 @@ config PINCTRL_IMX8MP
Say Y here to enable the imx8mp pinctrl driver
config PINCTRL_IMX8MQ
- bool "IMX8MQ pinctrl driver"
+ tristate "IMX8MQ pinctrl driver"
depends on ARCH_MXC
select PINCTRL_IMX
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8mq.c b/drivers/pinctrl/freescale/pinctrl-imx8mq.c
index 50aa1c0..db5b41a 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8mq.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8mq.c
@@ -8,6 +8,7 @@
#include <linux/err.h>
#include <linux/init.h>
#include <linux/io.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/pinctrl/pinctrl.h>
@@ -329,6 +330,7 @@ static const struct of_device_id imx8mq_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8mq-iomuxc", .data = &imx8mq_pinctrl_info, },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8mq_pinctrl_of_match);
static int imx8mq_pinctrl_probe(struct platform_device *pdev)
{
@@ -345,8 +347,5 @@ static struct platform_driver imx8mq_pinctrl_driver = {
.probe = imx8mq_pinctrl_probe,
};
-static int __init imx8mq_pinctrl_init(void)
-{
- return platform_driver_register(&imx8mq_pinctrl_driver);
-}
-arch_initcall(imx8mq_pinctrl_init);
+module_platform_driver(imx8mq_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 6/9] pinctrl: imx8mp: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
` (4 preceding siblings ...)
2020-06-08 14:37 ` [PATCH V2 5/9] pinctrl: imx8mq: " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 7/9] pinctrl: imx8qxp: " Anson Huang
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8MP pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8mp.c | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index f194996..8f89964 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -138,7 +138,7 @@ config PINCTRL_IMX8MN
Say Y here to enable the imx8mn pinctrl driver
config PINCTRL_IMX8MP
- bool "IMX8MP pinctrl driver"
+ tristate "IMX8MP pinctrl driver"
depends on ARCH_MXC
select PINCTRL_IMX
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8mp.c b/drivers/pinctrl/freescale/pinctrl-imx8mp.c
index e3f644c..f3f3bdd 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8mp.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8mp.c
@@ -5,6 +5,7 @@
#include <linux/err.h>
#include <linux/init.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/platform_device.h>
@@ -324,6 +325,7 @@ static const struct of_device_id imx8mp_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8mp-iomuxc", .data = &imx8mp_pinctrl_info, },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8mp_pinctrl_of_match);
static int imx8mp_pinctrl_probe(struct platform_device *pdev)
{
@@ -337,9 +339,5 @@ static struct platform_driver imx8mp_pinctrl_driver = {
},
.probe = imx8mp_pinctrl_probe,
};
-
-static int __init imx8mp_pinctrl_init(void)
-{
- return platform_driver_register(&imx8mp_pinctrl_driver);
-}
-arch_initcall(imx8mp_pinctrl_init);
+module_platform_driver(imx8mp_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 7/9] pinctrl: imx8qxp: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
` (5 preceding siblings ...)
2020-06-08 14:37 ` [PATCH V2 6/9] pinctrl: imx8mp: " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 8/9] pinctrl: imx8qm: " Anson Huang
2020-06-08 14:37 ` [PATCH V2 9/9] pinctrl: imx8dxl: " Anson Huang
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8QXP pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8qxp.c | 9 +++------
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 8f89964..5c9714a 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -159,7 +159,7 @@ config PINCTRL_IMX8QM
Say Y here to enable the imx8qm pinctrl driver
config PINCTRL_IMX8QXP
- bool "IMX8QXP pinctrl driver"
+ tristate "IMX8QXP pinctrl driver"
depends on IMX_SCU && ARCH_MXC && ARM64
select PINCTRL_IMX_SCU
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8qxp.c b/drivers/pinctrl/freescale/pinctrl-imx8qxp.c
index 1131dc3..0eaa36b 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8qxp.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8qxp.c
@@ -204,6 +204,7 @@ static const struct of_device_id imx8qxp_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8qxp-iomuxc", },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8qxp_pinctrl_of_match);
static int imx8qxp_pinctrl_probe(struct platform_device *pdev)
{
@@ -224,9 +225,5 @@ static struct platform_driver imx8qxp_pinctrl_driver = {
},
.probe = imx8qxp_pinctrl_probe,
};
-
-static int __init imx8qxp_pinctrl_init(void)
-{
- return platform_driver_register(&imx8qxp_pinctrl_driver);
-}
-arch_initcall(imx8qxp_pinctrl_init);
+module_platform_driver(imx8qxp_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 8/9] pinctrl: imx8qm: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
` (6 preceding siblings ...)
2020-06-08 14:37 ` [PATCH V2 7/9] pinctrl: imx8qxp: " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
2020-06-08 14:37 ` [PATCH V2 9/9] pinctrl: imx8dxl: " Anson Huang
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8QM pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
No changes.
---
drivers/pinctrl/freescale/Kconfig | 2 +-
drivers/pinctrl/freescale/pinctrl-imx8qm.c | 9 +++------
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/freescale/Kconfig b/drivers/pinctrl/freescale/Kconfig
index 5c9714a..8ab8aa8 100644
--- a/drivers/pinctrl/freescale/Kconfig
+++ b/drivers/pinctrl/freescale/Kconfig
@@ -152,7 +152,7 @@ config PINCTRL_IMX8MQ
Say Y here to enable the imx8mq pinctrl driver
config PINCTRL_IMX8QM
- bool "IMX8QM pinctrl driver"
+ tristate "IMX8QM pinctrl driver"
depends on IMX_SCU && ARCH_MXC && ARM64
select PINCTRL_IMX_SCU
help
diff --git a/drivers/pinctrl/freescale/pinctrl-imx8qm.c b/drivers/pinctrl/freescale/pinctrl-imx8qm.c
index 0b6029b..905702a 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx8qm.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx8qm.c
@@ -298,6 +298,7 @@ static const struct of_device_id imx8qm_pinctrl_of_match[] = {
{ .compatible = "fsl,imx8qm-iomuxc", },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, imx8qm_pinctrl_of_match);
static int imx8qm_pinctrl_probe(struct platform_device *pdev)
{
@@ -318,9 +319,5 @@ static struct platform_driver imx8qm_pinctrl_driver = {
},
.probe = imx8qm_pinctrl_probe,
};
-
-static int __init imx8qm_pinctrl_init(void)
-{
- return platform_driver_register(&imx8qm_pinctrl_driver);
-}
-arch_initcall(imx8qm_pinctrl_init);
+module_platform_driver(imx8qm_pinctrl_driver);
+MODULE_LICENSE("GPL v2");
--
2.7.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH V2 9/9] pinctrl: imx8dxl: Support building as module
2020-06-08 14:37 [PATCH V2 0/9] Support i.MX8 SoCs pinctrl drivers built as module Anson Huang
` (7 preceding siblings ...)
2020-06-08 14:37 ` [PATCH V2 8/9] pinctrl: imx8qm: " Anson Huang
@ 2020-06-08 14:37 ` Anson Huang
8 siblings, 0 replies; 11+ messages in thread
From: Anson Huang @ 2020-06-08 14:37 UTC (permalink / raw)
To: aisheng.dong, festevam, shawnguo, stefan, kernel, linus.walleij,
s.hauer, linux-gpio, linux-kernel, linux-arm-kernel
Cc: Linux-imx
Support building i.MX8DXL pinctrl driver as module.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
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
^ permalink raw reply related [flat|nested] 11+ messages in thread