60 votes

Pourquoi la méthode probe est-elle nécessaire dans les pilotes de périphériques Linux en plus de init ?

Dans le noyau linux, que fait l'élément probe() que le conducteur fournit, font ? En quoi est-elle différente de la méthode du conducteur init c'est-à-dire pourquoi la fonction probe() Les actions des fonctions sont effectuées dans le poste de conduite init fonction ?

1voto

Liyong Zhou Points 41

Le noyau Linux utilise un dispositif matériel correspondant à un pilote de périphérique logiciel processus. init est appelé très tôt, et enregistre probe et un nom de périphérique matériel comme "taiko_sound_card", au noyau. Cela permet de dire au noyau que "je suis le pilote de ce périphérique de ce nom". Lorsque le noyau parcourt les périphériques hw (arbre des périphériques ou bus enum), et trouve une correspondance, il appellera votre fonction enregistrée probe fonction. Maintenant, votre pilote de périphérique sw possède le dispositif hw.

Si aucun dispositif correspondant n'est trouvé, votre sonde peut ne jamais être appelée. C'est pourquoi, généralement init est minuscule et probe fait tout le travail d'initialisation.

0voto

Le sondage est effectué lorsque la méthode probe() est appelée par un pointeur de fonction à l'intérieur d'une structure qui est utilisée pour lier le dispositif avec des données de plate-forme par défaut ou personnalisées concernant le dispositif. Les pilotes utilisent beaucoup d'informations sur le périphérique, de sorte que le sondage fournit ces informations aux pilotes lorsqu'une entrée dans le champ id_table name correspond au nom du périphérique qui sera sondé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X