| From df50468660888311a4255627566ccf0806e33e08 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 12 Feb 2024 12:19:04 +0100 |
| Subject: i2c: pasemi: split driver into two separate modules |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| [ Upstream commit f44bff19268517ee98e80e944cad0f04f1db72e3 ] |
| |
| 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 <arnd@arndb.de> |
| Reviewed-by: Sven Peter <sven@svenpeter.dev> |
| Signed-off-by: Andi Shyti <andi.shyti@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 <olof@lixom.net>"); |
| +MODULE_DESCRIPTION("PA Semi PWRficient SMBus driver"); |
| -- |
| 2.43.0 |
| |