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 ?
Réponses
Trop de publicités?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.
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é.
- Réponses précédentes
- Plus de réponses