Liens connexes

Dépêche modérée par

: Mise à l'écart de certains pilotes de périphériques dans le noyau 2.6

Posté par zyvad (). Modéré le 19 juin 2003.
0
Adrian Bunk a annoncé sur la liste de messagerie linux-kernel l'apparition probable, peu avant la sortie du noyau 2.6, d'une option de compilation identifiant les pilotes insuffisamment maintenus pour pouvoir compiler proprement.

> Lire la suite (14 commentaires, moyenne: 5).   [dépêche : 1668 caractères]

Ceux d'entre vous qui ont suivi de près ou de loin le développement de la série des noyaux 2.5 ont certainement remarqué qu'il était fréquemment difficile de compiler sans peaufiner méticuleusement ses options de compilation.

Une part significative des erreurs de compilation des noyaux 2.5 provient d'une non-concordance entre le code de périphériques insuffisamment maintenus et celui du noyau lui-même. En effet, malgré des appels répétés depuis parfois plusieurs années, certains périphériques peu utilisés ou ne suscitant plus l'intérêt d'un mainteneur sont petit à petit dans l'incapacité de compiler.

Le message d'Adrian Bunk témoigne, à mon avis, de l'état du consensus de la communauté actuelle des développeurs : même lorsqu'ils sont trop obsolètes pour simplement pouvoir compiler sans modifications importantes, les codes historiques des pilotes de ces périphériques resteront dans le tarball du noyau.

On peut se souvenir que, lors de la sortie du 2.4, Linus Torvalds avait exprimé un certain regret de voir les versions finales du 2.3 peu testées.

Je rajoute un lien sur le numéro 219 de l'excellent "kernel traffic" (http://kt.zork.net) qui aborde en divers endroits ce sujet.




Le message d'Adrian Bunk :

« The patch below isn't meant to be applied now, a similar patch should be applied soon before 2.6.0.

This patch adds a dependency on an undefined BROKEN to all drivers that have longstanding compile errors.

Additionally I'll add a

config BROKEN_ON_SMP
default y if !SMP"

and add BROKEN_ON_SMP to the dependencies of drivers that don't compile with SMP enabled (e.g. because of cli/sti usage).
»

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: Mise à l'écart certains de pilotes de périphériques dans le noyau 2.6

Posté par Yannick Beynet (page perso, ) le 19/06/2003 à 12:44. (lien). Évalué à 11.

woww !
C'est plutôt une bonne nouvelle. A mon avis la stabilité n'en sera que meilleur. Et puis, comme ça les utilisateurs seront informés des pilotes qui sont le plus mis à jour (pas facile sinon de savoir si le mainteneur est réactif ou non avant de commencer à utiliser).

Re: Mise à l'écart certains de pilotes de périphériques dans le noyau 2.6

Posté par ptit_tux () le 19/06/2003 à 14:04. (lien). Évalué à 11.

En gros, on indique si le driver n'est pas maintenu et s'il n'est pas maintenu, faut pas te plaindre car t'as été prévenu. Ou si tu veux être sure que ça marche il faut choisir du matos qui est indiqué comme maintenu. C'est un plus, tu sais où tu mets les pieds.

Cette transparence va pousser les gens a prendre du matos bien maintenu. Les constructeur de matos vont devoir mettre la main à la pate pour ne pas manquer un marché.

Redhat va faire pareil en indiquant s'il supporte ou non certains drivers. Dans rawhide, il y a maintenant un paquet kernel-unsupported :

Description :
This packages contains extra modules for drivers that are in the kernel.org
kernel but that Red Hat can't test properly, but provides as courtosy for
people who want to use these regardless.

NB: Ce qui est considéré comme maintenu par le "team" Linux, c'est pas forcément supporté (ou testé pour reprendre leur terme) par Redhat. Il y a actuellement plus de 300 drivers indiqué comme non supportés/testés par Redhat dont reiserfs. Ça ne veut pas dire que ces drivers sont de mauvaises qualités !

Support des cartes reseau Broadcom 4400 (integrees aux Asus axxxx et consors)

Posté par FRLinux (page perso, ) le 20/06/2003 à 00:27. (lien). Évalué à 1.

Un peu hors sujet, si certains utilisent gcc 3.3 (Debian sid, SuSE 8.2, cooker ...) et ont les pilotes d'Asus a ce sujet, le pilote fournit ne compile plus.

L'utilisation de ## pour les fonctions semble poser probleme. Je suis pas specialiste en C mais le retirer marche et le driver compile correctement.

Il faut pour cela editer b44.h et appliquer ca :

--- b44.h.orig 2003-06-06 11:46:07.000000000 +0100
+++ b44.h 2003-06-06 11:46:25.000000000 +0100
@@ -1079,10 +1079,10 @@
/******************************************************************************/

#define REG_RD(pDevice, OffsetName) \
- __raw_readl(&((pDevice)->pMemView->##OffsetName))
+ __raw_readl(&((pDevice)->pMemView->OffsetName))

#define REG_WR(pDevice, OffsetName, Value32) \
- (void) __raw_writel(Value32, &((pDevice)->pMemView->##OffsetName))
+ (void) __raw_writel(Value32, &((pDevice)->pMemView->OffsetName))

#define REG_RD_OFFSET(pDevice, Offset) \
__raw_readl(((LM_UINT8 *) (pDevice)->pMemView + Offset))


Steph

Revenir en haut de page