Was soll ich hier dazu sagen?
Im Prinzip hoere ich mir gerne neue Ideen und Vorschlaege fuer bessere Workarounds an. Am liebsten Ideen, wie man etwas sauber ohne Workarounds implementieren kann. Wenn jemand hier selbst irgendwas ausprobieren will, gerne. Ist alles Open-Source-Code.
Ich kenne EEPROMs, wo man zum Feststellen des erfolgten Schreibens solange Lesen muss, bis die Schreibdaten wieder gelesen werden (und nicht Daten mit invertiertem unteren Bit, aber immer mit ACK). Das ist alles fuer einen Target-Device-Treiber schoen und wichtig, fuer den hier diskutierten Controller-Treiber eher nicht.
War Dein Vorschlag, lieber keine Quirks fuer merkwuerdige Target-Devices oder deren Treiber hier einzubauen? Von mir aus gerne. Hast Du Patches oder zumindest konkrete Ideen, das anders besser zu loesen? Der vorliegende Status quo versucht die Probleme der alten saa716x_i2c-Implementierung (unendliche read transfer errors, selten) zu loesen, ohne neue Probleme zu schaffen. Eine große bessere Loesung soll mir recht sein. Hilfe jederzeit willkommen.
Ich habe schon vor Jahrzehnten mit Philips Semiconductor in einem Chipdesignprojekt zusammengearbeitet und arbeite immer noch mit Kollegen zusammen, die noch mehr und laenger fuer Philips Hardware implementiert haben. Ich kann mir sehr gut vorstellen, dass alles so schlimm ist wie es aussieht. Ich habe ein Datenblatt und ein UserManual fuer den SAA7160, die sind leider nicht so ausfuehrlich und hilfreich, wie man sich wuenschen wuerde. Aber ich bin mir ziemlich sicher, dort nicht ein Status-Bit uebersehen zu haben. Was nicht heißen muss, dass es das nicht doch gibt und nur nicht dokumentiert ist (oder ich mittlerweile alt und senil bin).
Ich bin auch der Meining, dass man nicht alles machen muss, was prinzipiell erlaubt ist, sondern moeglichst alles so macht, wie die meisten anderen. Dann ist die Chance am groessten, dass alles kompatibel ist. Aus diesem Grund habe ich STOP-Bits dort eingebaut, wo sie hingehoeren, und keine wo man ueblicherweise keine hat.
Gruss,
S:oren