Dopo aver letto i sorgenti del kernel, ho trovato una funzione che dobbiamo inserire nella blacklist!
Grazie a Stephen Kitt per il suggerimento su initcall_blacklist .
Aggiungi initcall_blacklist=dw_i2c_init_driver alla riga di comando del kernel. Questo funziona per me sul kernel 4.15.0.
Per chiunque altro troverà questa risposta. Puoi farlo modificando /etc/default/grub :
- Esegui nel terminale:
sudo -H gedit /etc/default/grub. - Aggiungi la stringa della lista nera al
GRUB_CMDLINE_LINUX_DEFAULT:GRUB_CMDLINE_LINUX_DEFAULT="… initcall_blacklist=dw_i2c_init_driver". - Salva il file, chiudi l'editor.
- Esegui nel terminale:
sudo update-grub. - Riavvia e prova!
Aggiunta di initcall_blacklist=i2c_dw_init_master alla riga di comando del kernel dovrebbe impedire l'inizializzazione del driver Designware durante l'avvio ed evitare del tutto il problema.
Vedi i parametri del kernel per una breve descrizione di initcall_blacklist e il thread attorno alla patch per informazioni di base più utili.