Re: [PATCH] i2c: pasemi: split driver into two separate modules
Hi On Mon, 12 Feb 2024 12:19:04 +0100, Arnd Bergmann wrote: > On powerpc, it is possible to compile test both the new apple (arm) and > old pasemi (powerpc) drivers for the i2c hardware at the same time, > which leads to a warning about linking the same object file twice: > > scripts/Makefile.build:244: drivers/i2c/busses/Makefile: i2c-pasemi-core.o is > added to multiple modules: i2c-apple i2c-pasemi > > Rework the driver to have an explicit helper module, letting Kbuild > take care of whether this should be built-in or a loadable driver. > > [...] Applied to i2c/i2c-host-fixes on git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux.git Thank you, Andi Patches applied === [1/1] i2c: pasemi: split driver into two separate modules commit: 3fab8a74c71a4ba32b2fa1dca7340f9107ff8dfc
Re: [PATCH] i2c: pasemi: split driver into two separate modules
> > On 12. Feb 2024, at 12:19, Arnd Bergmann wrote: > > From: Arnd Bergmann > > On powerpc, it is possible to compile test both the new apple (arm) and > old pasemi (powerpc) drivers for the i2c hardware at the same time, > which leads to a warning about linking the same object file twice: > > scripts/Makefile.build:244: drivers/i2c/busses/Makefile: i2c-pasemi-core.o is > added to multiple modules: i2c-apple i2c-pasemi > > Rework the driver to have an explicit helper module, letting Kbuild > take care of whether this should be built-in or a loadable driver. > > Fixes: 9bc5f4f660ff ("i2c: pasemi: Split pci driver to its own file") > Signed-off-by: Arnd Bergmann > --- Reviewed-by: Sven Peter thanks, totally forgot about this! Sven > drivers/i2c/busses/Makefile | 6 ++ > drivers/i2c/busses/i2c-pasemi-core.c | 6 ++ > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile > index 3757b9391e60..aa0ee8ecd6f2 100644 > --- a/drivers/i2c/busses/Makefile > +++ b/drivers/i2c/busses/Makefile > @@ -90,10 +90,8 @@ obj-$(CONFIG_I2C_NPCM)+= i2c-npcm7xx.o > obj-$(CONFIG_I2C_OCORES)+= i2c-ocores.o > obj-$(CONFIG_I2C_OMAP)+= i2c-omap.o > obj-$(CONFIG_I2C_OWL)+= i2c-owl.o > -i2c-pasemi-objs := i2c-pasemi-core.o i2c-pasemi-pci.o > -obj-$(CONFIG_I2C_PASEMI)+= i2c-pasemi.o > -i2c-apple-objs := i2c-pasemi-core.o i2c-pasemi-platform.o > -obj-$(CONFIG_I2C_APPLE)+= i2c-apple.o > +obj-$(CONFIG_I2C_PASEMI)+= i2c-pasemi-core.o i2c-pasemi-pci.o > +obj-$(CONFIG_I2C_APPLE)+= i2c-pasemi-core.o i2c-pasemi-platform.o > obj-$(CONFIG_I2C_PCA_PLATFORM)+= i2c-pca-platform.o > obj-$(CONFIG_I2C_PNX)+= i2c-pnx.o > obj-$(CONFIG_I2C_PXA)+= i2c-pxa.o > diff --git a/drivers/i2c/busses/i2c-pasemi-core.c > b/drivers/i2c/busses/i2c-pasemi-core.c > index 7d54a9f34c74..bd8becbdeeb2 100644 > --- a/drivers/i2c/busses/i2c-pasemi-core.c > +++ b/drivers/i2c/busses/i2c-pasemi-core.c > @@ -369,6 +369,7 @@ int pasemi_i2c_common_probe(struct pasemi_smbus *smbus) > > return 0; > } > +EXPORT_SYMBOL_GPL(pasemi_i2c_common_probe); > > irqreturn_t pasemi_irq_handler(int irq, void *dev_id) > { > @@ -378,3 +379,8 @@ irqreturn_t pasemi_irq_handler(int irq, void *dev_id) > complete(&smbus->irq_completion); > return IRQ_HANDLED; > } > +EXPORT_SYMBOL_GPL(pasemi_irq_handler); > + > +MODULE_LICENSE("GPL"); > +MODULE_AUTHOR("Olof Johansson "); > +MODULE_DESCRIPTION("PA Semi PWRficient SMBus driver"); > -- > 2.39.2
[PATCH] i2c: pasemi: split driver into two separate modules
From: Arnd Bergmann On powerpc, it is possible to compile test both the new apple (arm) and old pasemi (powerpc) drivers for the i2c hardware at the same time, which leads to a warning about linking the same object file twice: scripts/Makefile.build:244: drivers/i2c/busses/Makefile: i2c-pasemi-core.o is added to multiple modules: i2c-apple i2c-pasemi Rework the driver to have an explicit helper module, letting Kbuild take care of whether this should be built-in or a loadable driver. Fixes: 9bc5f4f660ff ("i2c: pasemi: Split pci driver to its own file") Signed-off-by: Arnd Bergmann --- drivers/i2c/busses/Makefile | 6 ++ drivers/i2c/busses/i2c-pasemi-core.c | 6 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile index 3757b9391e60..aa0ee8ecd6f2 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -90,10 +90,8 @@ obj-$(CONFIG_I2C_NPCM) += i2c-npcm7xx.o obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o obj-$(CONFIG_I2C_OMAP) += i2c-omap.o obj-$(CONFIG_I2C_OWL) += i2c-owl.o -i2c-pasemi-objs := i2c-pasemi-core.o i2c-pasemi-pci.o -obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o -i2c-apple-objs := i2c-pasemi-core.o i2c-pasemi-platform.o -obj-$(CONFIG_I2C_APPLE)+= i2c-apple.o +obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi-core.o i2c-pasemi-pci.o +obj-$(CONFIG_I2C_APPLE)+= i2c-pasemi-core.o i2c-pasemi-platform.o obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o obj-$(CONFIG_I2C_PNX) += i2c-pnx.o obj-$(CONFIG_I2C_PXA) += i2c-pxa.o diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-pasemi-core.c index 7d54a9f34c74..bd8becbdeeb2 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -369,6 +369,7 @@ int pasemi_i2c_common_probe(struct pasemi_smbus *smbus) return 0; } +EXPORT_SYMBOL_GPL(pasemi_i2c_common_probe); irqreturn_t pasemi_irq_handler(int irq, void *dev_id) { @@ -378,3 +379,8 @@ irqreturn_t pasemi_irq_handler(int irq, void *dev_id) complete(&smbus->irq_completion); return IRQ_HANDLED; } +EXPORT_SYMBOL_GPL(pasemi_irq_handler); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Olof Johansson "); +MODULE_DESCRIPTION("PA Semi PWRficient SMBus driver"); -- 2.39.2