diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2016-10-29 21:24:35 -0400 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2016-11-29 08:21:29 +0000 |
commit | 4be85fc4f8eabd0b265e1f891fe0e733bf01407a (patch) | |
tree | c5fd77f2d1fb2109502230682127ac086e83e42f /drivers/mfd | |
parent | d4c55da236e660b9f8786c3a2979e0c8eaf93026 (diff) | |
download | op-kernel-dev-4be85fc4f8eabd0b265e1f891fe0e733bf01407a.zip op-kernel-dev-4be85fc4f8eabd0b265e1f891fe0e733bf01407a.tar.gz |
mfd: ab3100-core: Make it explicitly non-modular
The Kconfig currently controlling compilation of this code is:
drivers/mfd/Kconfig:config AB3100_CORE
drivers/mfd/Kconfig: bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
...meaning that it currently is not being built as a module by anyone.
Lets remove the modular code that is essentially orphaned, so that
when reading the driver there is no doubt it is builtin-only. In doing
so, the debugfs unregister fcn becomes unused so we remove it too.
We 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.
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.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/ab3100-core.c | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c index 6a5a988..099635b 100644 --- a/drivers/mfd/ab3100-core.c +++ b/drivers/mfd/ab3100-core.c @@ -12,7 +12,7 @@ #include <linux/notifier.h> #include <linux/slab.h> #include <linux/err.h> -#include <linux/module.h> +#include <linux/init.h> #include <linux/platform_device.h> #include <linux/device.h> #include <linux/interrupt.h> @@ -628,20 +628,10 @@ static void ab3100_setup_debugfs(struct ab3100 *ab3100) exit_no_debugfs: return; } -static inline void ab3100_remove_debugfs(void) -{ - debugfs_remove(ab3100_set_reg_file); - debugfs_remove(ab3100_get_reg_file); - debugfs_remove(ab3100_reg_file); - debugfs_remove(ab3100_dir); -} #else static inline void ab3100_setup_debugfs(struct ab3100 *ab3100) { } -static inline void ab3100_remove_debugfs(void) -{ -} #endif /* @@ -949,45 +939,22 @@ static int ab3100_probe(struct i2c_client *client, return err; } -static int ab3100_remove(struct i2c_client *client) -{ - struct ab3100 *ab3100 = i2c_get_clientdata(client); - - /* Unregister subdevices */ - mfd_remove_devices(&client->dev); - ab3100_remove_debugfs(); - i2c_unregister_device(ab3100->testreg_client); - return 0; -} - static const struct i2c_device_id ab3100_id[] = { { "ab3100", 0 }, { } }; -MODULE_DEVICE_TABLE(i2c, ab3100_id); static struct i2c_driver ab3100_driver = { .driver = { - .name = "ab3100", + .name = "ab3100", + .suppress_bind_attrs = true, }, .id_table = ab3100_id, .probe = ab3100_probe, - .remove = ab3100_remove, }; static int __init ab3100_i2c_init(void) { return i2c_add_driver(&ab3100_driver); } - -static void __exit ab3100_i2c_exit(void) -{ - i2c_del_driver(&ab3100_driver); -} - subsys_initcall(ab3100_i2c_init); -module_exit(ab3100_i2c_exit); - -MODULE_AUTHOR("Linus Walleij <linus.walleij@stericsson.com>"); -MODULE_DESCRIPTION("AB3100 core driver"); -MODULE_LICENSE("GPL"); |