The Kconfig currently controlling compilation of this code is: drivers/mfd/Kconfig:config PMIC_DA903X drivers/mfd/Kconfig: bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
...meaning that it currently is not being built as a module by anyone. Remove the modular code that is essentially orphaned, so that when reading the driver there is no doubt it is builtin-only. Also explicitly disallow a driver unbind, since that doesn't have a sensible use case anyway, and it allows us to drop the ".remove" code for non-modular drivers. Since module_init was not in use by this code, the init ordering remains unchanged with this commit. We replace module.h with init.h and export.h ; the latter since this file does export some syms. Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code. We also delete the MODULE_LICENSE tag etc. since all that information is already contained at the top of the file in the comments. Cc: Support Opensource <support.opensou...@diasemi.com> Cc: Lee Jones <lee.jo...@linaro.org> Cc: Eric Miao <eric.m...@marvell.com> Cc: Mike Rapoport <m...@compulab.co.il> Signed-off-by: Paul Gortmaker <paul.gortma...@windriver.com> --- drivers/mfd/da903x.c | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/drivers/mfd/da903x.c b/drivers/mfd/da903x.c index 09f367571c58..78edb0558a0f 100644 --- a/drivers/mfd/da903x.c +++ b/drivers/mfd/da903x.c @@ -13,7 +13,7 @@ */ #include <linux/kernel.h> -#include <linux/module.h> +#include <linux/init.h> #include <linux/interrupt.h> #include <linux/platform_device.h> #include <linux/i2c.h> @@ -446,7 +446,6 @@ static const struct i2c_device_id da903x_id_table[] = { { "da9034", 1 }, { }, }; -MODULE_DEVICE_TABLE(i2c, da903x_id_table); static int __remove_subdev(struct device *dev, void *unused) { @@ -535,20 +534,12 @@ static int da903x_probe(struct i2c_client *client, return da903x_add_subdevs(chip, pdata); } -static int da903x_remove(struct i2c_client *client) -{ - struct da903x_chip *chip = i2c_get_clientdata(client); - - da903x_remove_subdevs(chip); - return 0; -} - static struct i2c_driver da903x_driver = { .driver = { - .name = "da903x", + .name = "da903x", + .suppress_bind_attrs = true, }, .probe = da903x_probe, - .remove = da903x_remove, .id_table = da903x_id_table, }; @@ -557,14 +548,3 @@ static int __init da903x_init(void) return i2c_add_driver(&da903x_driver); } subsys_initcall(da903x_init); - -static void __exit da903x_exit(void) -{ - i2c_del_driver(&da903x_driver); -} -module_exit(da903x_exit); - -MODULE_DESCRIPTION("PMIC Driver for Dialog Semiconductor DA9034"); -MODULE_AUTHOR("Eric Miao <eric.m...@marvell.com>"); -MODULE_AUTHOR("Mike Rapoport <m...@compulab.co.il>"); -MODULE_LICENSE("GPL v2"); -- 2.11.0