Re: i2c transfers during interrupt context
From: Francis Moreau
Date: Thu Aug 30 2007 - 16:16:19 EST
Bonjour Jean !
On 8/30/07, Jean Delvare <khali@xxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/