request_threaded_irq() est utilisé dans le pilote, pourquoi ne pas request_irq()? Quelles sont les différences entre les deux?

J'ai posté c'est le fil de discussion au sujet de request_threaded_irq mais je n'ai pas eu de réponse. Je suis donc poster fraîchement.

Je travaille sur un pilote écran tactile capacitif pour touchscree. Il a utilisé request_threaded_irq() au lieu de request_irq(). Je ne pouvais pas comprendre la différence fondamentale entre les deux. Il dit :-

Nom

request_threaded_irq — allouer une ligne d'interruption

Synopsis

int request_threaded_irq (unsigned int irq, irq_handler_t gestionnaire,irq_handler_t thread_fn, unsigned long irqflags, const char *nom_périphérique n', void *dev_id);

Arguments

  1. irq - ligne d'Interruption d'allouer
  2. gestionnaire - Fonction à appeler lorsque l'IRQ se produit. Principal gestionnaire pour filetés les interruptions Si NULLE et thread_fn != NULL par défaut principal gestionnaire est installé
  3. thread_fn - une Fonction appelée dans le gestionnaire d'irq thread Si la valeur est NULL, aucune interruption n'thread est créé
  4. irqflags - type d'Interruption des drapeaux
  5. nom_périphérique n' - Un nom ascii pour la revendication de l'appareil
  6. dev_id - Un cookie passé à la fonction de gestionnaire

le Gestionnaire et Thread_fn arguments sont ceux qui sont source de confusion. Aussi il n'y a pas de fonction de travail défini dans le pilote.

Ici, c'est le pilote qui je suis, qui fait référence à l'.

Quelqu'un peut-il m'aider dans la compréhension de ce?

OriginalL'auteur iSegFault | 2011-10-07