Re: [PATCH V4 4/9] pinctrl: imx8mn: Support building as module
On 11.06.2020 11:48, Anson Huang wrote: Hi, Daniel Subject: Re: [PATCH V4 4/9] pinctrl: imx8mn: Support building as module Maybe this is obvious but I would really like to see an explanation of why we are switching from arch_initcall to platform_init. Commit message act as documentation for the reviewers. Yes, I noticed this, and it looks like unnecessary change, and I just replied in mail that I will change it back to arch_initcall() in order to make sure nothing changed for built-in config. Below is what I replied in cover-letter mail: " I will keep the arch_initcall() there in next version patch series, it can make sure the change does NOT impact built-in config. For module build, the arch_initcall() will be same as module_init(), user needs to insmod the .ko with correct sequence." Ok, that's great. Lets try to keep in mind that the commit message should answer to a simple question: "Why the change is needed" :). Then, the details about the change should be added.
RE: [PATCH V4 4/9] pinctrl: imx8mn: Support building as module
Hi, Daniel > Subject: Re: [PATCH V4 4/9] pinctrl: imx8mn: Support building as module > > Maybe this is obvious but I would really like to see an explanation > > of why we are switching from arch_initcall to platform_init. > > Commit message act as documentation for the reviewers. Yes, I noticed this, and it looks like unnecessary change, and I just replied in mail that I will change it back to arch_initcall() in order to make sure nothing changed for built-in config. Below is what I replied in cover-letter mail: " I will keep the arch_initcall() there in next version patch series, it can make sure the change does NOT impact built-in config. For module build, the arch_initcall() will be same as module_init(), user needs to insmod the .ko with correct sequence." Thanks, Anson
Re: [PATCH V4 4/9] pinctrl: imx8mn: Support building as module
Maybe this is obvious but I would really like to see an explanation of why we are switching from arch_initcall to platform_init. Commit message act as documentation for the reviewers. On 10.06.2020 10:57, Anson Huang wrote: Support building i.MX8MN pinctrl driver as module. Signed-off-by: Anson Huang --- No change. --- 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 556adc3..fe3e49c 100644 --- a/drivers/pinctrl/freescale/Kconfig +++ b/drivers/pinctrl/freescale/Kconfig @@ -132,7 +132,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 #include +#include #include #include #include @@ -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");
[PATCH V4 4/9] pinctrl: imx8mn: Support building as module
Support building i.MX8MN pinctrl driver as module. Signed-off-by: Anson Huang --- No change. --- 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 556adc3..fe3e49c 100644 --- a/drivers/pinctrl/freescale/Kconfig +++ b/drivers/pinctrl/freescale/Kconfig @@ -132,7 +132,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 #include +#include #include #include #include @@ -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