Messages in this thread | | | Date | Thu, 30 Aug 2007 22:16:09 +0200 | From | "Francis Moreau" <> | Subject | Re: i2c transfers during interrupt context |
| |
Bonjour Jean !
On 8/30/07, Jean Delvare <khali@linux-fr.org> wrote: > Non. Tu n'as pas le droit de dormir dans un gestionnaire > d'interruption, et la majorité des pilotes I2C dorment pendant les > transferts. >
Ok, c'est ce que je voulais savoir. Peut etre que cette regle pourrait etre renforce par un "might_sleep()" ajoute dans les fonctions de transfert de l'i2c-core ?
D'ailleurs pourquoi certains pilotes i2c ne dorment pas pendant les transferts ? Qu'ont ils de different ?
> Si tu as besoin de faire ce genre de chose il faut typiquement passer > par une workqueue.
Malheureusement dans certains cas la workqueue est schedulee trop tardivement et le message i2c n'arrive pas a temps au device.
Une autre question, j'espere que je n'abuse pas: Comment peut on changer la frequence du bus i2c depuis un driver ?
Merci pour tes reponses. -- Francis - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |