2023-03-01 13:00:02

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 0/7] soc: imx8m: Support building imx8m soc driver as module

This series adds support for building imx8m soc driver as module.

----
v3: Update commit message to include link error of
undefined genpd_dev_pm_attach_by_name symbol
v2: Use dev_pm_domain_attach_by_name() for imx8m*-blk-ctrl.
----


Jindong Yue (7):
soc: imx: imx8mp-blk-ctrl: Use dev_pm_domain_attach_by_name
soc: imx: imx8mp-blk-ctrl: Fix typo of imx8m_blk_ctrl_of_match
soc: imx: imx8mp-blk-ctrl: Add MODULE_LICENSE
soc: imx: imx8m-blk-ctrl: Use dev_pm_domain_attach_by_name
soc: imx: imx8m-blk-ctrl: Add MODULE_LICENSE
soc: imx8m: Add MODULE_LICENSE
soc: imx8m: Support building imx8m soc driver as module

drivers/soc/imx/Kconfig | 2 +-
drivers/soc/imx/imx8m-blk-ctrl.c | 3 ++-
drivers/soc/imx/imx8mp-blk-ctrl.c | 5 +++--
drivers/soc/imx/soc-imx8m.c | 1 +
4 files changed, 7 insertions(+), 4 deletions(-)

--
2.36.0



2023-03-01 13:00:15

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 1/7] soc: imx: imx8mp-blk-ctrl: Use dev_pm_domain_attach_by_name

The genpd_dev_pm_attach_by_name() is not exported, following error
occurs when building imx8mp-blk-ctrl as a module:

ERROR: modpost: "genpd_dev_pm_attach_by_name" [drivers/soc/imx/imx8mp-blk-ctrl.ko] undefined!

Fix this by using dev_pm_domain_attach_by_name() instead.

Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
index a0592db8fa86..1892c2c78831 100644
--- a/drivers/soc/imx/imx8mp-blk-ctrl.c
+++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
@@ -642,7 +642,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
if (!bc->onecell_data.domains)
return -ENOMEM;

- bc->bus_power_dev = genpd_dev_pm_attach_by_name(dev, "bus");
+ bc->bus_power_dev = dev_pm_domain_attach_by_name(dev, "bus");
if (IS_ERR(bc->bus_power_dev))
return dev_err_probe(dev, PTR_ERR(bc->bus_power_dev),
"failed to attach bus power domain\n");
--
2.36.0


2023-03-01 13:00:18

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 2/7] soc: imx: imx8mp-blk-ctrl: Fix typo of imx8m_blk_ctrl_of_match

Once set CONFIG_SOC_IMX8M as m, following error occurs:

drivers/soc/imx/imx8mp-blk-ctrl.c:747:25: error: ‘imx8m_blk_ctrl_of_match’
undeclared here (not in a function); did you mean ‘imx8mp_blk_ctrl_of_match’?
747 | MODULE_DEVICE_TABLE(of, imx8m_blk_ctrl_of_match);
| ^~~~~~~~~~~~~~~~~~~~~~~

Fix the typo.

Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl")
Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
index 1892c2c78831..f109c7bd6658 100644
--- a/drivers/soc/imx/imx8mp-blk-ctrl.c
+++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
@@ -852,7 +852,7 @@ static const struct of_device_id imx8mp_blk_ctrl_of_match[] = {
/* Sentinel */
}
};
-MODULE_DEVICE_TABLE(of, imx8m_blk_ctrl_of_match);
+MODULE_DEVICE_TABLE(of, imx8mp_blk_ctrl_of_match);

static struct platform_driver imx8mp_blk_ctrl_driver = {
.probe = imx8mp_blk_ctrl_probe,
--
2.36.0


2023-03-01 13:00:22

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 3/7] soc: imx: imx8mp-blk-ctrl: Add MODULE_LICENSE

Add MODULE_LICENSE to support building as a module.

Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8mp-blk-ctrl.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
index f109c7bd6658..870aecc0202a 100644
--- a/drivers/soc/imx/imx8mp-blk-ctrl.c
+++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
@@ -864,3 +864,4 @@ static struct platform_driver imx8mp_blk_ctrl_driver = {
},
};
module_platform_driver(imx8mp_blk_ctrl_driver);
+MODULE_LICENSE("GPL");
--
2.36.0


2023-03-01 13:00:31

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 4/7] soc: imx: imx8m-blk-ctrl: Use dev_pm_domain_attach_by_name

The genpd_dev_pm_attach_by_name() is not exported, following error
occurs when building imx8m-blk-ctrl as a module:

ERROR: modpost: "genpd_dev_pm_attach_by_name" [drivers/soc/imx/imx8m-blk-ctrl.ko] undefined!

Fix this by using dev_pm_domain_attach_by_name() instead.

Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8m-blk-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index 399cb85105a1..af67f2c3f7a1 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -210,7 +210,7 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
if (!bc->onecell_data.domains)
return -ENOMEM;

- bc->bus_power_dev = genpd_dev_pm_attach_by_name(dev, "bus");
+ bc->bus_power_dev = dev_pm_domain_attach_by_name(dev, "bus");
if (IS_ERR(bc->bus_power_dev)) {
if (PTR_ERR(bc->bus_power_dev) == -ENODEV)
return dev_err_probe(dev, -EPROBE_DEFER,
--
2.36.0


2023-03-01 13:00:52

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 5/7] soc: imx: imx8m-blk-ctrl: Add MODULE_LICENSE

Add MODULE_LICENSE to support building as a module.

Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/imx8m-blk-ctrl.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index af67f2c3f7a1..a955513d6d68 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -891,3 +891,4 @@ static struct platform_driver imx8m_blk_ctrl_driver = {
},
};
module_platform_driver(imx8m_blk_ctrl_driver);
+MODULE_LICENSE("GPL");
--
2.36.0


2023-03-01 13:00:56

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 6/7] soc: imx8m: Add MODULE_LICENSE

Add MODULE_LICENSE to support building as module.

Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/soc-imx8m.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/soc/imx/soc-imx8m.c b/drivers/soc/imx/soc-imx8m.c
index 32ed9dc88e45..1dcd243df567 100644
--- a/drivers/soc/imx/soc-imx8m.c
+++ b/drivers/soc/imx/soc-imx8m.c
@@ -242,3 +242,4 @@ static int __init imx8_soc_init(void)
return ret;
}
device_initcall(imx8_soc_init);
+MODULE_LICENSE("GPL");
--
2.36.0


2023-03-01 13:01:23

by Jindong Yue

[permalink] [raw]
Subject: [PATCH v3 7/7] soc: imx8m: Support building imx8m soc driver as module

Make the imx8m soc driver as tristate so that it can be built as loadable
module, module names are:
soc-imx8m.ko, imx8m-blk-ctrl.ko and imx8mp-blk-ctrl.ko

Signed-off-by: Jindong Yue <[email protected]>
Reviewed-by: Peng Fan <[email protected]>
---
drivers/soc/imx/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig
index a8742fc58f01..76a4593baf0a 100644
--- a/drivers/soc/imx/Kconfig
+++ b/drivers/soc/imx/Kconfig
@@ -10,7 +10,7 @@ config IMX_GPCV2_PM_DOMAINS
default y if SOC_IMX7D

config SOC_IMX8M
- bool "i.MX8M SoC family support"
+ tristate "i.MX8M SoC family support"
depends on ARCH_MXC || COMPILE_TEST
default ARCH_MXC && ARM64
select SOC_BUS
--
2.36.0


2023-03-01 13:56:41

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH v3 0/7] soc: imx8m: Support building imx8m soc driver as module

Hi,

On 23-03-01, Jindong Yue wrote:
> This series adds support for building imx8m soc driver as module.

...

> drivers/soc/imx/Kconfig | 2 +-
> drivers/soc/imx/imx8m-blk-ctrl.c | 3 ++-
> drivers/soc/imx/imx8mp-blk-ctrl.c | 5 +++--
> drivers/soc/imx/soc-imx8m.c | 1 +
> 4 files changed, 7 insertions(+), 4 deletions(-)

the serie lgtm now, feel free to add my:

Reviewed-by: Marco Felsch <[email protected]>

2023-03-14 03:37:57

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v3 0/7] soc: imx8m: Support building imx8m soc driver as module

On Wed, Mar 01, 2023 at 09:05:50PM +0800, Jindong Yue wrote:
> This series adds support for building imx8m soc driver as module.
>
> ----
> v3: Update commit message to include link error of
> undefined genpd_dev_pm_attach_by_name symbol
> v2: Use dev_pm_domain_attach_by_name() for imx8m*-blk-ctrl.
> ----
>
>
> Jindong Yue (7):
> soc: imx: imx8mp-blk-ctrl: Use dev_pm_domain_attach_by_name
> soc: imx: imx8mp-blk-ctrl: Fix typo of imx8m_blk_ctrl_of_match
> soc: imx: imx8mp-blk-ctrl: Add MODULE_LICENSE
> soc: imx: imx8m-blk-ctrl: Use dev_pm_domain_attach_by_name
> soc: imx: imx8m-blk-ctrl: Add MODULE_LICENSE
> soc: imx8m: Add MODULE_LICENSE
> soc: imx8m: Support building imx8m soc driver as module

Applied all, thanks!