]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
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 425c5fba6cb1e7848dcea05bd77c729a71d48e2c..bfaffb74c991136ff5f706bcd5c00c5771557af7 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 819d19dc9b4a91e160d917cb914767094173dbfe..0cb7af11ea6071f6cdf48bc03a5a821a9ac7b7e4 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");