mfd: stmpe: Allow building as module
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Tue, 19 Aug 2025 07:04:57 +0000 (09:04 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 4 Sep 2025 13:00:53 +0000 (15:00 +0200)
Export the core probe and remove function to be used by i2c and spi
drivers. Also add necessary module information so the drivers can be built
as modules. This reduces footprint of the driver is enabled but unused.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20250819070458.1027883-1-alexander.stein@ew.tq-group.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/mfd/Kconfig
drivers/mfd/stmpe.c

index 425c5fb..bfaffb7 100644 (file)
@@ -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
index 819d19d..0cb7af1 100644 (file)
@@ -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)
 {
@@ -1494,6 +1495,7 @@ void stmpe_remove(struct stmpe *stmpe)
 
        mfd_remove_devices(stmpe->dev);
 }
+EXPORT_SYMBOL_GPL(stmpe_remove);
 
 static int stmpe_suspend(struct device *dev)
 {
@@ -1517,3 +1519,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 Core driver");
+MODULE_AUTHOR("Rabin Vincent <rabin.vincent@stericsson.com>");
+MODULE_LICENSE("GPL");