mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
gpio: stmpe: Allow to compile as a module
Add the necessary boilerplate to also make this driver modular. Keep the subsys_initcall to not change registration order for built-in. Also add OF match table for module autoloading. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Link: https://lore.kernel.org/r/20250728060544.18169-1-alexander.stein@ew.tq-group.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
8f5ae30d69
commit
03db20aaa3
|
|
@ -1559,7 +1559,7 @@ config GPIO_SL28CPLD
|
|||
called gpio-sl28cpld.
|
||||
|
||||
config GPIO_STMPE
|
||||
bool "STMPE GPIOs"
|
||||
tristate "STMPE GPIOs"
|
||||
depends on MFD_STMPE
|
||||
depends on OF_GPIO
|
||||
select GPIOLIB_IRQCHIP
|
||||
|
|
|
|||
|
|
@ -534,10 +534,16 @@ static int stmpe_gpio_probe(struct platform_device *pdev)
|
|||
return devm_gpiochip_add_data(dev, &stmpe_gpio->chip, stmpe_gpio);
|
||||
}
|
||||
|
||||
static const struct of_device_id stmpe_gpio_of_matches[] = {
|
||||
{ .compatible = "st,stmpe-gpio", },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, stmpe_gpio_of_matches);
|
||||
|
||||
static struct platform_driver stmpe_gpio_driver = {
|
||||
.driver = {
|
||||
.suppress_bind_attrs = true,
|
||||
.name = "stmpe-gpio",
|
||||
.name = "stmpe-gpio",
|
||||
.of_match_table = stmpe_gpio_of_matches,
|
||||
},
|
||||
.probe = stmpe_gpio_probe,
|
||||
};
|
||||
|
|
@ -547,3 +553,13 @@ static int __init stmpe_gpio_init(void)
|
|||
return platform_driver_register(&stmpe_gpio_driver);
|
||||
}
|
||||
subsys_initcall(stmpe_gpio_init);
|
||||
|
||||
static void __exit stmpe_gpio_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&stmpe_gpio_driver);
|
||||
}
|
||||
module_exit(stmpe_gpio_exit);
|
||||
|
||||
MODULE_DESCRIPTION("STMPE expander GPIO");
|
||||
MODULE_AUTHOR("Rabin Vincent <rabin.vincent@stericsson.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user