From Fedora Project Wiki

Executive summary: Comparing kmods and kmdls

Cleaned up a bit by spot for accuracy, simplification, and legibility.

kmods kmod with kver in name kmdls
features
kernel's version available as provides embedded in name & available as provides embedded in name & available as provides
specfiles/src.rpm split for userland vs kernelland split for userland vs kernelland merged together with macros
helper applications kmodtool kmodtool none necessary
kernel agnostic yes, with kmodtool yes, with kmodtool yes
kernel flavour agnostic yes, with kmodtool yes, with kmodtool yes
comparison
rpm
rpm -U Will update all kmod packages and replace with one (not really what you want) will update packages on a per kernel basis will update packages on a per kernel basis
rpm -i works works works
$1 in scriplets does not work does not work works
yum w/o plugin and module coinstalls works does not work does not work
yum w/o plugin and module upgrades does not work works works
yum w/ full plugin support possible possible possible
other depsolvers (smart/apt) possible possible possible
maintenance every new kernel/flavour needs full rebuild every new kernel/flavour needs full rebuild every new kernel/flavour needs full rebuild
existing standard of Fedora yes no no
existing kmods/kmdls in Fedora yes, only one, but half a dozen in queue and half a dozen in livna no no, but ATrpms has several dozens
debuginfos ok ok ok
kabi support possible possible possible
buildsystem needs special handling needs special handling needs special handling
rpmbuild no changes no changes no changes
mock, mach, etc. no changes no changes no changes