I actually don't think it's the people as much as it is the ridiculous
linkages inside ide.c and the hugely complicated rules. The code is messy.
The network drivers have various setups that share the same chipset, but
there they tend to be individual drivers that just share helper routines.
Each driver still does their own PCI driver registration etc. In contrast,
when it comes to IDE, you're supposed to be an IDE driver first, and a PCI
chipset driver second, and that putting o fthe cart before the horse
results in problems.
Even something as simple as a PIIX driver (which _should_ just register
itself as a driver for the piix chipsets) doesn't do that. Instead, we
have ide-pci.c, which has a list of all the chipsets it knows about, and
then does initialization and calls the init routines that it knows about.
That's just incestuous.
And we all know where incest leads. Hereditary insanity.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/