]> www.infradead.org Git - users/dwmw2/linux.git/commit
modpost: deduplicate MODULE_ALIAS() for all drivers
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 19 Nov 2024 23:56:42 +0000 (08:56 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 27 Nov 2024 23:45:59 +0000 (08:45 +0900)
commitd92b7a3b528bb4b69fa8b6f99c63fe8ad7927cec
treea56b8dc47b9237412f49f1dd9003df2afe2fcf05
parentf4fdb17ca5a5285d4a0ed81b25d5a3d7b9b3ebf3
modpost: deduplicate MODULE_ALIAS() for all drivers

MODULE_DEVICE_TABLE(pnp_card, ...) may have duplicated IDs. For
instance, snd_ad1816a_pnpids[] in sound/isa/ad1816a/ad1816a.c includes
multiple occurrences of the "ADS7180" string within its .devs fields.

Currently, do_pnp_card_entries() handles deduplication on its own, but
this logic should be moved to a common helper function, as drivers in
other subsystems might also have similar duplication issues.

For example, drivers/media/i2c/s5c73m3/s5c73m3.mod.c contains duplicated
MODULE_ALIAS() entries because both s5c73m3-core.c and s5c73m3-spi.c
define the same compatible string.

This commit eliminates redundant MODULE_ALIAS() entries across all
drivers.

[Before]

  $ grep MODULE_ALIAS drivers/media/i2c/s5c73m3/s5c73m3.mod.c
  MODULE_ALIAS("i2c:S5C73M3");
  MODULE_ALIAS("of:N*T*Csamsung,s5c73m3");
  MODULE_ALIAS("of:N*T*Csamsung,s5c73m3C*");
  MODULE_ALIAS("of:N*T*Csamsung,s5c73m3");
  MODULE_ALIAS("of:N*T*Csamsung,s5c73m3C*");

[After]

  $ grep MODULE_ALIAS drivers/media/i2c/s5c73m3/s5c73m3.mod.c
  MODULE_ALIAS("i2c:S5C73M3");
  MODULE_ALIAS("of:N*T*Csamsung,s5c73m3");
  MODULE_ALIAS("of:N*T*Csamsung,s5c73m3C*");

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/mod/file2alias.c