GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie deaktiviere ich die Unterstützung von I2C Designware, wenn sie nicht als Modul erstellt wurde?

Nachdem ich die Kernel-Quellen gelesen hatte, fand ich eine Funktion, die wir auf die schwarze Liste setzen müssen!

Danke an Stephen Kitt für den Hinweis zu initcall_blacklist .

Fügen Sie initcall_blacklist=dw_i2c_init_driver hinzu zur Kernel-Befehlszeile. Dies funktioniert bei mir unter Kernel 4.15.0.

Für alle anderen, die diese Antwort finden. Sie können dies tun, indem Sie /etc/default/grub bearbeiten :

  1. Im Terminal ausführen:sudo -H gedit /etc/default/grub .
  2. Hängen Sie den Blacklist-String an GRUB_CMDLINE_LINUX_DEFAULT an :GRUB_CMDLINE_LINUX_DEFAULT="… initcall_blacklist=dw_i2c_init_driver" .
  3. Datei speichern, Editor schließen.
  4. Im Terminal ausführen:sudo update-grub .
  5. Neu starten und testen!

Hinzufügen von initcall_blacklist=i2c_dw_init_master an die Kernel-Befehlszeile sollte den Designware-Treiber daran hindern, während des Bootens zu initialisieren, und das Problem vollständig vermeiden.

Siehe die Kernel-Parameter für eine sehr kurze Beschreibung von initcall_blacklist , und der Thread rund um den Patch für weitere nützliche Hintergrundinformationen.


Linux
  1. CentOS / RHEL :So deaktivieren Sie das Linux-Kernelmodul und setzen es auf die schwarze Liste, um zu verhindern, dass es automatisch geladen wird

  2. Änderungen der Parameter des Kernelmoduls (unter Verwendung von /sys/module)

  3. Wie übergebe ich beim Booten einen Wert an ein eingebautes Linux-Kernel-Modul?

  4. Modul nicht gefunden, wenn ich eine Modprobe mache

  5. Wie deaktiviere ich die Kernel-Anmeldung im systemd-Journal?

So laden oder entladen Sie ein Linux-Kernel-Modul

Wie man ein Modul unter Ubuntu/Debian Linux auf die schwarze Liste setzt

So deaktivieren/sperren oder sperren Sie Paketaktualisierungen mit dem Apt-Tool

So laden und entladen Sie Kernel-Module in Linux

Wie füge ich dem Kernel-Modulcode eine Abfragefunktion hinzu?

Schwarze Liste des Kernel-Moduls funktioniert nicht