Partager via


Activation et désactivation des interruptions GPIO partagées

Dans certains cas, les lignes de requête d’interruption de deux ou plusieurs périphériques peuvent se connecter à la même broche d’E/S à usage général (GPIO) physique. La broche GPIO d’une ligne d’interruption partagée est généralement configurée pour les interruptions déclenchées par un niveau.

Si les pilotes de ces appareils inscrivent leurs routines de service d’interruption (ISR) à déclencher lorsqu’une interruption est déclarée sur cette broche GPIO, l’extension d’infrastructure GPIO (GpioClx) appelle la fonction de rappel CLIENT_EnableInterrupt uniquement lorsque le premier pilote s’inscrit pour cette interruption. Lorsque d’autres pilotes s’inscrivent pour utiliser une interruption GPIO déjà activée, GpioClx effectue le suivi interne de ces inscriptions, mais n’appelle pas de manière redondante la fonction de rappel CLIENT_EnableInterrupt pour activer cette interruption. De même, GpioClx appelle la fonction de rappel CLIENT_DisableInterrupt uniquement lorsque le dernier de ces pilotes inscrits libère l’interruption.