mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 12:07:12 +07:00
e68bb91baa
This patch adds config I2C_DESIGNWARE_CORE in Kconfig, and let I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_PCI select I2C_DESIGNWARE_CORE. Because both I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_PCI can be built as built-in or module, we also need to export the functions in i2c-designware-core. This fixes below build error when CONFIG_I2C_DESIGNWARE_PLATFORM=y && CONFIG_I2C_DESIGNWARE_PCI=y: LD drivers/i2c/busses/built-in.o drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_clear_int': i2c-designware-core.c:(.text+0xa10): multiple definition of `i2c_dw_clear_int' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x928): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_init': i2c-designware-core.c:(.text+0x178): multiple definition of `i2c_dw_init' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x90): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `dw_readl': i2c-designware-core.c:(.text+0xe8): multiple definition of `dw_readl' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x0): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_isr': i2c-designware-core.c:(.text+0x724): multiple definition of `i2c_dw_isr' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x63c): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_xfer': i2c-designware-core.c:(.text+0x4b0): multiple definition of `i2c_dw_xfer' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x3c8): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_is_enabled': i2c-designware-core.c:(.text+0x9d4): multiple definition of `i2c_dw_is_enabled' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x8ec): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `dw_writel': i2c-designware-core.c:(.text+0x124): multiple definition of `dw_writel' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x3c): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_xfer_msg': i2c-designware-core.c:(.text+0x2e8): multiple definition of `i2c_dw_xfer_msg' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x200): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_enable': i2c-designware-core.c:(.text+0x9c8): multiple definition of `i2c_dw_enable' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x8e0): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_read_comp_param': i2c-designware-core.c:(.text+0xa24): multiple definition of `i2c_dw_read_comp_param' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x93c): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_disable': i2c-designware-core.c:(.text+0x9dc): multiple definition of `i2c_dw_disable' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x8f4): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_func': i2c-designware-core.c:(.text+0x710): multiple definition of `i2c_dw_func' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x628): first defined here drivers/i2c/busses/i2c-designware-pci.o: In function `i2c_dw_disable_int': i2c-designware-core.c:(.text+0xa18): multiple definition of `i2c_dw_disable_int' drivers/i2c/busses/i2c-designware-platform.o:i2c-designware-platdrv.c:(.text+0x930): first defined here make[3]: *** [drivers/i2c/busses/built-in.o] Error 1 make[2]: *** [drivers/i2c/busses] Error 2 make[1]: *** [drivers/i2c] Error 2 make: *** [drivers] Error 2 Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org> Tested-by: Jiri Slaby <jslaby@suse.cz> Cc: stable@vger.kernel.org [3.2+]
92 lines
3.4 KiB
Makefile
92 lines
3.4 KiB
Makefile
#
|
|
# Makefile for the i2c bus drivers.
|
|
#
|
|
|
|
# ACPI drivers
|
|
obj-$(CONFIG_I2C_SCMI) += i2c-scmi.o
|
|
|
|
# PC SMBus host controller drivers
|
|
obj-$(CONFIG_I2C_ALI1535) += i2c-ali1535.o
|
|
obj-$(CONFIG_I2C_ALI1563) += i2c-ali1563.o
|
|
obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o
|
|
obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o
|
|
obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
|
|
obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o
|
|
obj-$(CONFIG_I2C_I801) += i2c-i801.o
|
|
obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
|
|
obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
|
|
obj-$(CONFIG_I2C_NFORCE2_S4985) += i2c-nforce2-s4985.o
|
|
obj-$(CONFIG_I2C_PIIX4) += i2c-piix4.o
|
|
obj-$(CONFIG_I2C_SIS5595) += i2c-sis5595.o
|
|
obj-$(CONFIG_I2C_SIS630) += i2c-sis630.o
|
|
obj-$(CONFIG_I2C_SIS96X) += i2c-sis96x.o
|
|
obj-$(CONFIG_I2C_VIA) += i2c-via.o
|
|
obj-$(CONFIG_I2C_VIAPRO) += i2c-viapro.o
|
|
|
|
# Mac SMBus host controller drivers
|
|
obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o
|
|
obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o
|
|
|
|
# Embedded system I2C/SMBus host controller drivers
|
|
obj-$(CONFIG_I2C_AT91) += i2c-at91.o
|
|
obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o
|
|
obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
|
|
obj-$(CONFIG_I2C_CPM) += i2c-cpm.o
|
|
obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o
|
|
obj-$(CONFIG_I2C_DESIGNWARE_CORE) += i2c-designware-core.o
|
|
obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) += i2c-designware-platform.o
|
|
i2c-designware-platform-objs := i2c-designware-platdrv.o
|
|
obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o
|
|
i2c-designware-pci-objs := i2c-designware-pcidrv.o
|
|
obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o
|
|
obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o
|
|
obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o
|
|
obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o
|
|
obj-$(CONFIG_I2C_IMX) += i2c-imx.o
|
|
obj-$(CONFIG_I2C_INTEL_MID) += i2c-intel-mid.o
|
|
obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o
|
|
obj-$(CONFIG_I2C_MPC) += i2c-mpc.o
|
|
obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o
|
|
obj-$(CONFIG_I2C_MXS) += i2c-mxs.o
|
|
obj-$(CONFIG_I2C_NOMADIK) += i2c-nomadik.o
|
|
obj-$(CONFIG_I2C_NUC900) += i2c-nuc900.o
|
|
obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o
|
|
obj-$(CONFIG_I2C_OMAP) += i2c-omap.o
|
|
obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o
|
|
obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o
|
|
obj-$(CONFIG_I2C_PMCMSP) += i2c-pmcmsp.o
|
|
obj-$(CONFIG_I2C_PNX) += i2c-pnx.o
|
|
obj-$(CONFIG_I2C_PUV3) += i2c-puv3.o
|
|
obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
|
|
obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o
|
|
obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o
|
|
obj-$(CONFIG_I2C_S6000) += i2c-s6000.o
|
|
obj-$(CONFIG_I2C_SH7760) += i2c-sh7760.o
|
|
obj-$(CONFIG_I2C_SH_MOBILE) += i2c-sh_mobile.o
|
|
obj-$(CONFIG_I2C_SIMTEC) += i2c-simtec.o
|
|
obj-$(CONFIG_I2C_SIRF) += i2c-sirf.o
|
|
obj-$(CONFIG_I2C_STU300) += i2c-stu300.o
|
|
obj-$(CONFIG_I2C_TEGRA) += i2c-tegra.o
|
|
obj-$(CONFIG_I2C_VERSATILE) += i2c-versatile.o
|
|
obj-$(CONFIG_I2C_OCTEON) += i2c-octeon.o
|
|
obj-$(CONFIG_I2C_XILINX) += i2c-xiic.o
|
|
obj-$(CONFIG_I2C_XLR) += i2c-xlr.o
|
|
|
|
# External I2C/SMBus adapter drivers
|
|
obj-$(CONFIG_I2C_DIOLAN_U2C) += i2c-diolan-u2c.o
|
|
obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
|
|
obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o
|
|
obj-$(CONFIG_I2C_TAOS_EVM) += i2c-taos-evm.o
|
|
obj-$(CONFIG_I2C_TINY_USB) += i2c-tiny-usb.o
|
|
|
|
# Other I2C/SMBus bus drivers
|
|
obj-$(CONFIG_I2C_ACORN) += i2c-acorn.o
|
|
obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
|
|
obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o
|
|
obj-$(CONFIG_I2C_SIBYTE) += i2c-sibyte.o
|
|
obj-$(CONFIG_I2C_STUB) += i2c-stub.o
|
|
obj-$(CONFIG_SCx200_ACB) += scx200_acb.o
|
|
obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o
|
|
|
|
ccflags-$(CONFIG_I2C_DEBUG_BUS) := -DDEBUG
|