A Linux 7.1 kernelbe végre bekerülhet az előző ciklusban elutasított MMC fejlesztési csomag

A Linux 7.1 kernel fejlesztési ciklusában végül zöld utat kapott az MMC alrendszer frissítési csomagja. Linus Torvalds a 7.0 kernelciklusban elutasította a pull requestet, mert a kód nem fordult le rendesen, és szerinte a linux-nextes, illetve buildes ellenőrzés sem volt elég alapos. A mostani fejlesztési ciklushoz Ulf Hansson április 13-án ismét elküldte az MMC-frissítéseket, a pr-tracker bot pedig április 15-én már azt jelezte, hogy a csomag bekerült a torvalds/linux.git fába.

A Linux 7.1 kernelbe végre bekerülhet az előző ciklusban elutasított MMC fejlesztési csomag

Korábban elutasításra került a pull request

Torvalds február 11-én egyértelművé tette, hogy a korábbi MMC pull request elfogadhatatlan állapotú, mivel egyes konfigurációkban le sem fordult.

Aki esetleg nem olvasta volna az elutasításról szóló korábbi cikkünket: Linus Torvalds azért utasította el a pull requestet, mert szerinte még az alapkövetelményeket sem teljesítette: a kód nem fordult le, és semmi nem utalt arra, hogy a csomagot linux-next alatt rendesen tesztelték volna. Linus reakciója a tőle megszokott nyers és kemény hangvételű volt, a kód minőségét „használhatatlan szemétnek” és „teszteletlen szarnak” minősítette.

A konkrét technikai kifogás egy konfigurációs csapda volt. Ha a CONFIG_MULTIPLEXER=m, akkor a build rendszer lefordítja a mux-core.o-t, viszont a fejlécben olyan feltétel szerepelt, amely csak akkor igaz, ha a CONFIG_MULTIPLEXER közvetlenül be van kapcsolva, modul esetén viszont más makró lesz definiálva. Emiatt a fejlécben aktiválódott egy dummy wrapper, ami később ütközött a valódi definíciókkal, és újradefiniálásos fordítási hibát okozott. 

A 7.1-es kernel fejlesztési ciklusára beküldött javított csomag ezzel szemben már gond nélkül átment a rostán. Ez arra utal, hogy a korábban felvetett problémák az új MMC-frissítésben maradéktalanul orvoslásra kerültek, és mostanra eljutott abba az állapotba, amely már alkalmassá teszi arra, hogy a kernel hivatalos fejlesztési ágába beemeljék.

Mit tartalmaz az MMC fejlesztési csomag?

A pull request szerint új NXP gyártó- és IW61x-eszközazonosítók érkeznek az SDIO-n csatlakozó Wi-Fi chipekhez, megjelenik a 2025 utáni gyártási dátumok kezelése, valamint bekerül egy quirk a hibás gyártási dátummal jelentkező eszközökhöz is. Ezen felül optimalizálták egyes Kingston eMMC modellek secure erase és trim működését, bővült a Qualcomm SDHCI-MSM meghajtó IPQ5210 és IPQ9650 támogatással, megjelent az AST2700 támogatása az sdhci-of-aspeed meghajtóban, és a K3 variáns is bekerült az sdhci-of-k1 ágba.

A Kingston eMMC-khez készült módosítás nyomán egy 1 GB-os secure erase művelet ideje nagyjából tíz percről két másodperc közelébe csökkenhet, ami jelentős áttörés.