[PATCH 3/3] mfd: stmpe: Allow building as module

Alexander Stein posted 3 patches 2 months, 1 week ago
[PATCH 3/3] mfd: stmpe: Allow building as module
Posted by Alexander Stein 2 months, 1 week ago
Export the core probe and remove function to be used by modules. Add
necessary module information so the driver can be built as a module.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
 drivers/mfd/Kconfig | 10 +++++-----
 drivers/mfd/stmpe.c |  6 ++++++
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 8f11b2df14704..a58c95e5b8072 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -1539,8 +1539,8 @@ config MFD_DB8500_PRCMU
 	  through a register map.
 
 config MFD_STMPE
-	bool "STMicroelectronics STMPE"
-	depends on I2C=y || SPI_MASTER=y
+	tristate "STMicroelectronics STMPE"
+	depends on I2C || SPI_MASTER
 	depends on OF
 	select MFD_CORE
 	help
@@ -1568,14 +1568,14 @@ menu "STMicroelectronics STMPE Interface Drivers"
 depends on MFD_STMPE
 
 config STMPE_I2C
-	bool "STMicroelectronics STMPE I2C Interface"
-	depends on I2C=y
+	tristate "STMicroelectronics STMPE I2C Interface"
+	depends on I2C
 	default y
 	help
 	  This is used to enable I2C interface of STMPE
 
 config STMPE_SPI
-	bool "STMicroelectronics STMPE SPI Interface"
+	tristate "STMicroelectronics STMPE SPI Interface"
 	depends on SPI_MASTER
 	help
 	  This is used to enable SPI interface of STMPE
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
index e1165f63aedae..5faf13fd6cf83 100644
--- a/drivers/mfd/stmpe.c
+++ b/drivers/mfd/stmpe.c
@@ -1482,6 +1482,7 @@ int stmpe_probe(struct stmpe_client_info *ci, enum stmpe_partnum partnum)
 
 	return ret;
 }
+EXPORT_SYMBOL_GPL(stmpe_probe);
 
 void stmpe_remove(struct stmpe *stmpe)
 {
@@ -1497,6 +1498,7 @@ void stmpe_remove(struct stmpe *stmpe)
 
 	mfd_remove_devices(stmpe->dev);
 }
+EXPORT_SYMBOL_GPL(stmpe_remove);
 
 static int stmpe_suspend(struct device *dev)
 {
@@ -1520,3 +1522,7 @@ static int stmpe_resume(struct device *dev)
 
 EXPORT_GPL_SIMPLE_DEV_PM_OPS(stmpe_dev_pm_ops,
 			     stmpe_suspend, stmpe_resume);
+
+MODULE_DESCRIPTION("STMPE MFD Core driver");
+MODULE_AUTHOR("Rabin Vincent <rabin.vincent@stericsson.com>");
+MODULE_LICENSE("GPL");
-- 
2.43.0
Re: [PATCH 3/3] mfd: stmpe: Allow building as module
Posted by Lee Jones 2 months ago
On Fri, 25 Jul 2025, Alexander Stein wrote:

> Export the core probe and remove function to be used by modules. Add
> necessary module information so the driver can be built as a module.

because ...

> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
>  drivers/mfd/Kconfig | 10 +++++-----
>  drivers/mfd/stmpe.c |  6 ++++++
>  2 files changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 8f11b2df14704..a58c95e5b8072 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -1539,8 +1539,8 @@ config MFD_DB8500_PRCMU
>  	  through a register map.
>  
>  config MFD_STMPE
> -	bool "STMicroelectronics STMPE"
> -	depends on I2C=y || SPI_MASTER=y
> +	tristate "STMicroelectronics STMPE"
> +	depends on I2C || SPI_MASTER
>  	depends on OF
>  	select MFD_CORE
>  	help
> @@ -1568,14 +1568,14 @@ menu "STMicroelectronics STMPE Interface Drivers"
>  depends on MFD_STMPE
>  
>  config STMPE_I2C
> -	bool "STMicroelectronics STMPE I2C Interface"
> -	depends on I2C=y
> +	tristate "STMicroelectronics STMPE I2C Interface"
> +	depends on I2C
>  	default y
>  	help
>  	  This is used to enable I2C interface of STMPE
>  
>  config STMPE_SPI
> -	bool "STMicroelectronics STMPE SPI Interface"
> +	tristate "STMicroelectronics STMPE SPI Interface"
>  	depends on SPI_MASTER
>  	help
>  	  This is used to enable SPI interface of STMPE
> diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
> index e1165f63aedae..5faf13fd6cf83 100644
> --- a/drivers/mfd/stmpe.c
> +++ b/drivers/mfd/stmpe.c
> @@ -1482,6 +1482,7 @@ int stmpe_probe(struct stmpe_client_info *ci, enum stmpe_partnum partnum)
>  
>  	return ret;
>  }
> +EXPORT_SYMBOL_GPL(stmpe_probe);
>  
>  void stmpe_remove(struct stmpe *stmpe)
>  {
> @@ -1497,6 +1498,7 @@ void stmpe_remove(struct stmpe *stmpe)
>  
>  	mfd_remove_devices(stmpe->dev);
>  }
> +EXPORT_SYMBOL_GPL(stmpe_remove);
>  
>  static int stmpe_suspend(struct device *dev)
>  {
> @@ -1520,3 +1522,7 @@ static int stmpe_resume(struct device *dev)
>  
>  EXPORT_GPL_SIMPLE_DEV_PM_OPS(stmpe_dev_pm_ops,
>  			     stmpe_suspend, stmpe_resume);
> +
> +MODULE_DESCRIPTION("STMPE MFD Core driver");

Drop the MFD part.

> +MODULE_AUTHOR("Rabin Vincent <rabin.vincent@stericsson.com>");
> +MODULE_LICENSE("GPL");
> -- 
> 2.43.0
> 

-- 
Lee Jones [李琼斯]