All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] treewide: fix object files shared between several modules
@ 2022-11-19 23:03 Alexander Lobakin
  2022-11-19 23:04 ` [PATCH 01/18] block/rnbd: fix mixed module-builtin object Alexander Lobakin
                   ` (21 more replies)
  0 siblings, 22 replies; 62+ messages in thread
From: Alexander Lobakin @ 2022-11-19 23:03 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Alexander Lobakin, Masahiro Yamada, Nicolas Schier, Jens Axboe,
	Boris Brezillon, Borislav Petkov, Tony Luck, Miquel Raynal,
	Vladimir Oltean, Alexandre Belloni, Derek Chickles,
	Ioana Ciornei, Salil Mehta, Sunil Goutham, Grygorii Strashko,
	Daniel Scally, Hans de Goede, Mark Brown, Andy Shevchenko,
	NXP Linux Team, netdev, linux-kernel

This is a follow-up to the series[0] that adds Kbuild warning if an
object is linked into several modules (including vmlinux) in order
to prevent hidden side effects from appearing.
The original series, as well as this one, was inspired by the recent
issue[1] with the ZSTD modules on a platform which has such sets of
vmlinux cflags and module cflags so that objects built with those
two even refuse to link with each other.
The final goal is to forbid linking one object several times
entirely.

Patches 1-7 and 10-11 was runtime-tested by me. Pathes 8-9 and 12-18
are compile-time tested only (compile, link, modpost), so I
encourage the maintainers to review them carefully. At least the
last one, for cpsw, most likely has issues :D
Masahiro's patches are taken from his WIP tree[2], with the two last
finished by me.

This mostly is a monotonic work, all scores go to Masahiro and
Alexey :P

[0] https://lore.kernel.org/linux-kbuild/20221118191551.66448-1-masahiroy@kernel.org
[1] https://github.com/torvalds/linux/commit/637a642f5ca5e850186bb64ac75ebb0f124b458d
[2] https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git/log/?h=tmp4

Alexander Lobakin (9):
  EDAC: i10nm, skx: fix mixed module-builtin object
  platform/x86: int3472: fix object shared between several modules
  mtd: tests: fix object shared between several modules
  crypto: octeontx2: fix objects shared between several modules
  dsa: ocelot: fix mixed module-builtin object
  net: dpaa2: fix mixed module-builtin object
  net: hns3: fix mixed module-builtin object
  net: octeontx2: fix mixed module-builtin object
  net: cpsw: fix mixed module-builtin object

Masahiro Yamada (9):
  block/rnbd: fix mixed module-builtin object
  drm/bridge: imx: fix mixed module-builtin object
  drm/bridge: imx: turn imx8{qm,qxp}-ldb into single-object modules
  sound: fix mixed module-builtin object
  mfd: rsmu: fix mixed module-builtin object
  mfd: rsmu: turn rsmu-{core,i2c,spi} into single-object modules
  net: liquidio: fix mixed module-builtin object
  net: enetc: fix mixed module-builtin object
  net: emac, cpsw: fix mixed module-builtin object (davinci_cpdma)

 drivers/block/rnbd/Makefile                   |   6 +-
 drivers/block/rnbd/rnbd-common.c              |  23 -
 drivers/block/rnbd/rnbd-proto.h               |  14 +-
 drivers/crypto/marvell/octeontx2/Makefile     |  11 +-
 drivers/crypto/marvell/octeontx2/cn10k_cpt.c  |   9 +-
 drivers/crypto/marvell/octeontx2/cn10k_cpt.h  |   2 -
 .../marvell/octeontx2/otx2_cpt_common.h       |   2 -
 .../marvell/octeontx2/otx2_cpt_mbox_common.c  |  14 +-
 drivers/crypto/marvell/octeontx2/otx2_cptlf.c |  11 +
 .../marvell/octeontx2/otx2_cptpf_main.c       |   2 +
 .../marvell/octeontx2/otx2_cptvf_main.c       |   2 +
 drivers/edac/Kconfig                          |  11 +-
 drivers/edac/Makefile                         |   7 +-
 drivers/edac/i10nm_base.c                     |   2 +
 drivers/edac/skx_base.c                       |   2 +
 drivers/edac/skx_common.c                     |  21 +-
 drivers/edac/skx_common.h                     |   4 +-
 drivers/gpu/drm/bridge/imx/Makefile           |   4 -
 drivers/gpu/drm/bridge/imx/imx-ldb-helper.c   | 221 -----
 drivers/gpu/drm/bridge/imx/imx-ldb-helper.h   | 213 +++-
 .../imx/{imx8qm-ldb-drv.c => imx8qm-ldb.c}    |   0
 .../imx/{imx8qxp-ldb-drv.c => imx8qxp-ldb.c}  |   0
 drivers/mfd/Kconfig                           |   8 +-
 drivers/mfd/Makefile                          |   3 +-
 drivers/mfd/{rsmu_core.c => rsmu-core.c}      |   3 +
 drivers/mfd/{rsmu_i2c.c => rsmu-i2c.c}        |   0
 drivers/mfd/{rsmu_spi.c => rsmu-spi.c}        |   0
 drivers/mtd/tests/Makefile                    |  17 +-
 drivers/mtd/tests/mtd_test.c                  |   9 +
 drivers/mtd/tests/nandbiterrs.c               |   2 +
 drivers/mtd/tests/oobtest.c                   |   2 +
 drivers/mtd/tests/pagetest.c                  |   2 +
 drivers/mtd/tests/readtest.c                  |   2 +
 drivers/mtd/tests/speedtest.c                 |   2 +
 drivers/mtd/tests/stresstest.c                |   2 +
 drivers/mtd/tests/subpagetest.c               |   2 +
 drivers/mtd/tests/torturetest.c               |   2 +
 drivers/net/dsa/ocelot/Kconfig                |  18 +-
 drivers/net/dsa/ocelot/Makefile               |  12 +-
 drivers/net/dsa/ocelot/felix.c                |   6 +
 drivers/net/dsa/ocelot/felix_vsc9959.c        |   2 +
 drivers/net/dsa/ocelot/seville_vsc9953.c      |   2 +
 drivers/net/ethernet/cavium/Kconfig           |   5 +
 drivers/net/ethernet/cavium/liquidio/Makefile |   4 +-
 .../cavium/liquidio/cn23xx_pf_device.c        |   4 +
 .../cavium/liquidio/cn23xx_vf_device.c        |   3 +
 .../ethernet/cavium/liquidio/cn66xx_device.c  |   1 +
 .../ethernet/cavium/liquidio/cn68xx_device.c  |   1 +
 .../net/ethernet/cavium/liquidio/lio_core.c   |  16 +
 .../ethernet/cavium/liquidio/lio_ethtool.c    |   1 +
 .../ethernet/cavium/liquidio/octeon_device.c  |  24 +
 .../ethernet/cavium/liquidio/octeon_droq.c    |   4 +
 .../ethernet/cavium/liquidio/octeon_mem_ops.c |   5 +
 .../net/ethernet/cavium/liquidio/octeon_nic.c |   3 +
 .../cavium/liquidio/request_manager.c         |  14 +
 .../cavium/liquidio/response_manager.c        |   3 +
 drivers/net/ethernet/freescale/dpaa2/Kconfig  |   6 +
 drivers/net/ethernet/freescale/dpaa2/Makefile |   6 +-
 .../net/ethernet/freescale/dpaa2/dpaa2-eth.c  |   2 +
 .../net/ethernet/freescale/dpaa2/dpaa2-mac.c  |  15 +-
 .../ethernet/freescale/dpaa2/dpaa2-switch.c   |   2 +
 drivers/net/ethernet/freescale/enetc/Kconfig  |   5 +
 drivers/net/ethernet/freescale/enetc/Makefile |   7 +-
 drivers/net/ethernet/freescale/enetc/enetc.c  |  21 +
 .../net/ethernet/freescale/enetc/enetc_cbdr.c |   7 +
 .../ethernet/freescale/enetc/enetc_ethtool.c  |   2 +
 .../net/ethernet/freescale/enetc/enetc_pf.c   |   2 +
 .../net/ethernet/freescale/enetc/enetc_vf.c   |   2 +
 drivers/net/ethernet/hisilicon/Kconfig        |   5 +
 drivers/net/ethernet/hisilicon/hns3/Makefile  |  13 +-
 .../hns3/hns3_common/hclge_comm_cmd.c         |  27 +-
 .../hns3/hns3_common/hclge_comm_cmd.h         |   8 -
 .../hns3/hns3_common/hclge_comm_rss.c         |  17 +
 .../hns3/hns3_common/hclge_comm_tqp_stats.c   |   5 +
 .../hisilicon/hns3/hns3pf/hclge_main.c        |   2 +
 .../hisilicon/hns3/hns3vf/hclgevf_main.c      |   2 +
 .../net/ethernet/marvell/octeontx2/Kconfig    |   5 +
 .../ethernet/marvell/octeontx2/nic/Makefile   |  14 +-
 .../marvell/octeontx2/nic/otx2_common.h       |   1 -
 .../marvell/octeontx2/nic/otx2_dcbnl.c        |   8 +-
 .../marvell/octeontx2/nic/otx2_devlink.c      |   2 +
 .../ethernet/marvell/octeontx2/nic/otx2_pf.c  |   2 +
 .../ethernet/marvell/octeontx2/nic/otx2_ptp.c |   2 +-
 .../ethernet/marvell/octeontx2/nic/otx2_vf.c  |   2 +
 drivers/net/ethernet/ti/Kconfig               |  13 +
 drivers/net/ethernet/ti/Makefile              |  16 +-
 drivers/net/ethernet/ti/am65-cpsw-nuss.c      |   2 +
 drivers/net/ethernet/ti/cpsw.c                |   3 +
 drivers/net/ethernet/ti/cpsw_ale.c            |  20 +
 drivers/net/ethernet/ti/cpsw_ethtool.c        |  24 +
 drivers/net/ethernet/ti/cpsw_new.c            |   3 +
 drivers/net/ethernet/ti/cpsw_priv.c           |  36 +
 drivers/net/ethernet/ti/cpsw_sl.c             |   8 +
 drivers/net/ethernet/ti/davinci_cpdma.c       |  33 +
 drivers/net/ethernet/ti/davinci_emac.c        |   2 +
 drivers/net/ethernet/ti/netcp_core.c          |   2 +
 drivers/net/ethernet/ti/netcp_ethss.c         |   2 +
 drivers/platform/x86/intel/int3472/Makefile   |   8 +-
 drivers/platform/x86/intel/int3472/common.c   |   8 +
 drivers/platform/x86/intel/int3472/discrete.c |   2 +
 drivers/platform/x86/intel/int3472/tps68470.c |   2 +
 sound/soc/codecs/Makefile                     |   6 +-
 sound/soc/codecs/wcd-clsh-v2.c                | 903 -----------------
 sound/soc/codecs/wcd-clsh-v2.h                | 917 +++++++++++++++++-
 104 files changed, 1679 insertions(+), 1288 deletions(-)
 delete mode 100644 drivers/block/rnbd/rnbd-common.c
 delete mode 100644 drivers/gpu/drm/bridge/imx/imx-ldb-helper.c
 rename drivers/gpu/drm/bridge/imx/{imx8qm-ldb-drv.c => imx8qm-ldb.c} (100%)
 rename drivers/gpu/drm/bridge/imx/{imx8qxp-ldb-drv.c => imx8qxp-ldb.c} (100%)
 rename drivers/mfd/{rsmu_core.c => rsmu-core.c} (94%)
 rename drivers/mfd/{rsmu_i2c.c => rsmu-i2c.c} (100%)
 rename drivers/mfd/{rsmu_spi.c => rsmu-spi.c} (100%)
 delete mode 100644 sound/soc/codecs/wcd-clsh-v2.c

--
2.38.1



^ permalink raw reply	[flat|nested] 62+ messages in thread

end of thread, other threads:[~2023-02-10 17:32 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-19 23:03 [PATCH 00/18] treewide: fix object files shared between several modules Alexander Lobakin
2022-11-19 23:04 ` [PATCH 01/18] block/rnbd: fix mixed module-builtin object Alexander Lobakin
2022-11-21 21:17   ` Andrew Davis
2022-11-22  5:59     ` Masahiro Yamada
2022-11-29 18:24       ` Andrew Davis
2022-11-19 23:04 ` [PATCH 02/18] drm/bridge: imx: " Alexander Lobakin
2022-11-19 23:05 ` [PATCH 03/18] drm/bridge: imx: turn imx8{qm,qxp}-ldb into single-object modules Alexander Lobakin
2022-11-19 23:05 ` [PATCH 04/18] sound: fix mixed module-builtin object Alexander Lobakin
2022-11-19 23:05 ` [PATCH 05/18] mfd: rsmu: " Alexander Lobakin
2022-11-19 23:06 ` [PATCH 06/18] mfd: rsmu: turn rsmu-{core,i2c,spi} into single-object modules Alexander Lobakin
2022-11-19 23:06 ` [PATCH 07/18] net: liquidio: fix mixed module-builtin object Alexander Lobakin
2022-11-19 23:06 ` [PATCH 08/18] net: enetc: " Alexander Lobakin
2022-11-23 13:03   ` Masahiro Yamada
2022-11-19 23:07 ` [PATCH 09/18] net: emac, cpsw: fix mixed module-builtin object (davinci_cpdma) Alexander Lobakin
2022-11-23 16:04   ` Masahiro Yamada
2022-11-19 23:07 ` [PATCH 10/18] EDAC: i10nm, skx: fix mixed module-builtin object Alexander Lobakin
2022-11-23 16:12   ` Masahiro Yamada
2022-11-19 23:08 ` [PATCH 11/18] platform/x86: int3472: fix object shared between several modules Alexander Lobakin
2022-11-20 13:55   ` Andy Shevchenko
2022-11-20 20:54     ` Hans de Goede
2022-11-20 23:45       ` Masahiro Yamada
2022-11-21  8:12         ` Hans de Goede
2022-11-21  9:06           ` Masahiro Yamada
2022-11-21  9:34             ` Hans de Goede
2022-11-23 21:19               ` Alexander Lobakin
2022-11-23 21:10           ` Alexander Lobakin
2022-11-23  0:01     ` Alexander Lobakin
2022-11-19 23:08 ` [PATCH 12/18] mtd: tests: " Alexander Lobakin
2022-11-23 13:11   ` Masahiro Yamada
2022-11-23 16:59     ` Miquel Raynal
2022-11-24 11:31       ` Miquel Raynal
2022-11-19 23:09 ` [PATCH 13/18] crypto: octeontx2: fix objects " Alexander Lobakin
2022-11-23 16:26   ` Masahiro Yamada
2023-02-06  5:18   ` [PATCH] crypto: octeontx2 - Fix " Herbert Xu
2022-11-19 23:09 ` [PATCH 14/18] dsa: ocelot: fix mixed module-builtin object Alexander Lobakin
2022-11-21 17:55   ` Vladimir Oltean
2022-11-21 18:12     ` Colin Foster
2022-11-21 21:02       ` Vladimir Oltean
2022-11-23 21:31       ` Alexander Lobakin
2022-11-23 21:47       ` Alexander Lobakin
2022-11-23 22:18         ` Colin Foster
2022-11-23 22:36           ` Vladimir Oltean
2022-11-21 18:59     ` Andy Shevchenko
2022-11-19 23:09 ` [PATCH 15/18] net: dpaa2: " Alexander Lobakin
2022-11-23 21:02   ` Masahiro Yamada
2022-11-19 23:10 ` [PATCH 16/18] net: hns3: " Alexander Lobakin
2022-11-22 12:39   ` Salil Mehta
2022-11-23 22:07     ` Alexander Lobakin
2022-11-24  9:58       ` Salil Mehta
2022-11-19 23:10 ` [PATCH 17/18] net: octeontx2: " Alexander Lobakin
2022-11-23 20:54   ` Masahiro Yamada
2022-11-19 23:10 ` [PATCH 18/18] net: cpsw: " Alexander Lobakin
2022-11-23 20:37   ` Masahiro Yamada
2022-11-20 11:58 ` [PATCH 00/18] treewide: fix object files shared between several modules Mark Brown
2022-11-20 12:26   ` Conor Dooley
2022-11-22 11:28     ` Mark Brown
2022-11-22 21:37   ` Alexander Lobakin
2022-11-23 11:51     ` Mark Brown
2022-11-21 19:50 ` Jakub Kicinski
2022-11-23 21:40   ` Alexander Lobakin
2022-11-23 21:39 ` Masahiro Yamada
2023-02-10 17:31 ` Alexander Lobakin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.