On Thu, 02 Jun 2016, Paul Gortmaker wrote: > The Kconfig currently controlling compilation of this code is: > > drivers/mfd/Kconfig:config MFD_MAX8997 > drivers/mfd/Kconfig: bool "Maxim Semiconductor MAX8997/8966 PMIC Support" > > ...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. > > 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. > > Cc: Samuel Ortiz <[email protected]> > Cc: Lee Jones <[email protected]> > Cc: MyungJoo Ham <[email protected]> > Signed-off-by: Paul Gortmaker <[email protected]> > --- > drivers/mfd/max8997.c | 30 +++--------------------------- > 1 file changed, 3 insertions(+), 27 deletions(-)
Applied, thanks. > diff --git a/drivers/mfd/max8997.c b/drivers/mfd/max8997.c > index f316348e3d98..2d6e2c392786 100644 > --- a/drivers/mfd/max8997.c > +++ b/drivers/mfd/max8997.c > @@ -2,7 +2,7 @@ > * max8997.c - mfd core driver for the Maxim 8966 and 8997 > * > * Copyright (C) 2011 Samsung Electronics > - * MyungJoo Ham <[email protected]> > + * MyungJoo Ham <[email protected]> > * > * This program is free software; you can redistribute it and/or modify > * it under the terms of the GNU General Public License as published by > @@ -28,7 +28,7 @@ > #include <linux/of_irq.h> > #include <linux/interrupt.h> > #include <linux/pm_runtime.h> > -#include <linux/module.h> > +#include <linux/init.h> > #include <linux/mutex.h> > #include <linux/mfd/core.h> > #include <linux/mfd/max8997.h> > @@ -55,7 +55,6 @@ static const struct of_device_id max8997_pmic_dt_match[] = { > { .compatible = "maxim,max8997-pmic", .data = (void *)TYPE_MAX8997 }, > {}, > }; > -MODULE_DEVICE_TABLE(of, max8997_pmic_dt_match); > #endif > > int max8997_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest) > @@ -263,24 +262,11 @@ err_i2c_haptic: > return ret; > } > > -static int max8997_i2c_remove(struct i2c_client *i2c) > -{ > - struct max8997_dev *max8997 = i2c_get_clientdata(i2c); > - > - mfd_remove_devices(max8997->dev); > - i2c_unregister_device(max8997->muic); > - i2c_unregister_device(max8997->haptic); > - i2c_unregister_device(max8997->rtc); > - > - return 0; > -} > - > static const struct i2c_device_id max8997_i2c_id[] = { > { "max8997", TYPE_MAX8997 }, > { "max8966", TYPE_MAX8966 }, > { } > }; > -MODULE_DEVICE_TABLE(i2c, max8998_i2c_id); > > static u8 max8997_dumpaddr_pmic[] = { > MAX8997_REG_INT1MSK, > @@ -510,10 +496,10 @@ static struct i2c_driver max8997_i2c_driver = { > .driver = { > .name = "max8997", > .pm = &max8997_pm, > + .suppress_bind_attrs = true, > .of_match_table = of_match_ptr(max8997_pmic_dt_match), > }, > .probe = max8997_i2c_probe, > - .remove = max8997_i2c_remove, > .id_table = max8997_i2c_id, > }; > > @@ -523,13 +509,3 @@ static int __init max8997_i2c_init(void) > } > /* init early so consumer devices can complete system boot */ > subsys_initcall(max8997_i2c_init); > - > -static void __exit max8997_i2c_exit(void) > -{ > - i2c_del_driver(&max8997_i2c_driver); > -} > -module_exit(max8997_i2c_exit); > - > -MODULE_DESCRIPTION("MAXIM 8997 multi-function core driver"); > -MODULE_AUTHOR("MyungJoo Ham <[email protected]>"); > -MODULE_LICENSE("GPL"); -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog

