> -----Original Message----- > From: Paul Gortmaker [mailto:paul.gortma...@windriver.com] > Sent: Freitag, 7. Dezember 2018 21:11 > To: Lee Jones <lee.jo...@linaro.org> > Cc: linux-kernel@vger.kernel.org; Paul Gortmaker > <paul.gortma...@windriver.com>; Hennerich, Michael > <michael.henner...@analog.com> > Subject: [PATCH 02/18] mfd: adp5520: Make it explicitly non-modular > > The Makefile/Kconfig currently controlling compilation of this code is: > > drivers/mfd/Makefile:obj-$(CONFIG_PMIC_ADP5520) += adp5520.o > drivers/mfd/Kconfig:config PMIC_ADP5520 > drivers/mfd/Kconfig: bool "Analog Devices ADP5520/01 MFD PMIC Core 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_i2c_driver() uses the same init level priority as > builtin_i2c_driver() 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 > was (or is now) contained at the top of the file in the comments. > > Cc: Michael Hennerich <michael.henner...@analog.com> > Cc: Lee Jones <lee.jo...@linaro.org> > Acked-by: Linus Walleij <linus.wall...@linaro.org> > Signed-off-by: Paul Gortmaker <paul.gortma...@windriver.com>
Signed-off-by: Michael Hennerich <michael.henner...@analog.com> > --- > drivers/mfd/adp5520.c | 30 +++++++----------------------- > 1 file changed, 7 insertions(+), 23 deletions(-) > > diff --git a/drivers/mfd/adp5520.c b/drivers/mfd/adp5520.c > index be0497b96720..2cdd39cb8a18 100644 > --- a/drivers/mfd/adp5520.c > +++ b/drivers/mfd/adp5520.c > @@ -7,6 +7,8 @@ > * > * Copyright 2009 Analog Devices Inc. > * > + * Author: Michael Hennerich <michael.henner...@analog.com> > + * > * Derived from da903x: > * Copyright (C) 2008 Compulab, Ltd. > * Mike Rapoport <m...@compulab.co.il> > @@ -18,7 +20,7 @@ > */ > > #include <linux/kernel.h> > -#include <linux/module.h> > +#include <linux/init.h> > #include <linux/platform_device.h> > #include <linux/slab.h> > #include <linux/interrupt.h> > @@ -304,18 +306,6 @@ static int adp5520_probe(struct i2c_client *client, > return ret; > } > > -static int adp5520_remove(struct i2c_client *client) > -{ > - struct adp5520_chip *chip = dev_get_drvdata(&client->dev); > - > - if (chip->irq) > - free_irq(chip->irq, chip); > - > - adp5520_remove_subdevs(chip); > - adp5520_write(chip->dev, ADP5520_MODE_STATUS, 0); > - return 0; > -} > - > #ifdef CONFIG_PM_SLEEP > static int adp5520_suspend(struct device *dev) > { > @@ -346,20 +336,14 @@ static const struct i2c_device_id adp5520_id[] = { > { "pmic-adp5501", ID_ADP5501 }, > { } > }; > -MODULE_DEVICE_TABLE(i2c, adp5520_id); > > static struct i2c_driver adp5520_driver = { > .driver = { > - .name = "adp5520", > - .pm = &adp5520_pm, > + .name = "adp5520", > + .pm = &adp5520_pm, > + .suppress_bind_attrs = true, > }, > .probe = adp5520_probe, > - .remove = adp5520_remove, > .id_table = adp5520_id, > }; > - > -module_i2c_driver(adp5520_driver); > - > -MODULE_AUTHOR("Michael Hennerich <michael.henner...@analog.com>"); > -MODULE_DESCRIPTION("ADP5520(01) PMIC-MFD Driver"); > -MODULE_LICENSE("GPL"); > +builtin_i2c_driver(adp5520_driver); > -- > 2.7.4 >