Hi all, After merging the thermal-soc tree, today's linux-next build (powerpc ppc64_defconfig) failed like this: ld: drivers/infiniband/hw/cxgb4/cm.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x23f0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/cm.o:(.opd+0x2e8): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/provider.o: in function `.devm_thermal_of_cooling_device_register': (.text+0xf90): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/provider.o:(.opd+0x198): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/mem.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x11c0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/mem.o:(.opd+0xa8): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/cq.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1750): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/cq.o:(.opd+0x90): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/qp.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1550): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/qp.o:(.opd+0x108): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/resource.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/resource.o:(.opd+0x0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/ev.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/ev.o:(.opd+0x18): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/id_table.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/id_table.o:(.opd+0x0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/infiniband/hw/cxgb4/restrack.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1590): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.text+0x28c0): first defined here ld: drivers/infiniband/hw/cxgb4/restrack.o:(.opd+0xc0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/infiniband/hw/cxgb4/device.o:(.opd+0x198): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/l2t.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1220): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/l2t.o:(.opd+0x120): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/smt.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x4d0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/smt.o:(.opd+0x30): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/t4_hw.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x21f0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/t4_hw.o:(.opd+0x198): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/sge.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x3a60): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/sge.o:(.opd+0x270): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/clip_tbl.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x990): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/clip_tbl.o:(.opd+0x90): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x2f80): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.o:(.opd+0x390): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1f60): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.o:(.opd+0x138): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/srq.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1b0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/srq.o:(.opd+0x18): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/sched.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x250): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/sched.o:(.opd+0x18): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.o: in function `.devm_thermal_of_cooling_device_register': (.text+0xf10): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.o:(.opd+0xc0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x430): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.o:(.opd+0x198): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x570): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_ptp.o:(.opd+0x78): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x9a0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.o:(.opd+0x78): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.o: in function `.devm_thermal_of_cooling_device_register': (.text+0xb00): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_cudbg.o:(.opd+0x30): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cudbg_common.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cudbg_common.o:(.opd+0x0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x1ae0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.o:(.opd+0xd8): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cudbg_zlib.o: in function `.devm_thermal_of_cooling_device_register': (.text+0x0): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cudbg_zlib.o:(.opd+0x0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.o: in function `.devm_thermal_of_cooling_device_register': (.text+0xed00): multiple definition of `.devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.text+0x79a0): first defined here ld: drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.o:(.opd+0x8d0): multiple definition of `devm_thermal_of_cooling_device_register'; drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.o:(.opd+0x708): first defined here Caused by commit 4e211e068ae9 ("thermal: Introduce devm_thermal_of_cooling_device_register") I applied the following patch for today: From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon, 13 May 2019 10:55:00 +1000 Subject: [PATCH] thermal: use "static inline" for stub function Fixes: 4e211e068ae9 ("thermal: Introduce devm_thermal_of_cooling_device_register") Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- include/linux/thermal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 6f78fa9238da..15a4ca5d7099 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -508,7 +508,7 @@ static inline struct thermal_cooling_device * thermal_of_cooling_device_register(struct device_node *np, char *type, void *devdata, const struct thermal_cooling_device_ops *ops) { return ERR_PTR(-ENODEV); } -struct thermal_cooling_device * +static inline struct thermal_cooling_device * devm_thermal_of_cooling_device_register(struct device *dev, struct device_node *np, char *type, void *devdata, -- 2.20.1 -- Cheers, Stephen Rothwell
Attachment:
pgpgH7A7NmSD3.pgp
Description: OpenPGP digital signature