On Sat, Feb 20, 2010 at 11:32:45PM +0100, Stefan Reinauer wrote:
Hi there,
the intel southbridge drivers are a mess.
Ack.
Why? Because it is simply unmaintainable. The unified driver is not unified, it's rather incomplete enough so nobody noticed. The ICH4 and ICH4M are very similar. So are the ICH5 and ICH5M and ICH5R. It's a good idea to have a "unified" driver per chipset generation. But not across several generations of chipsets.
Hm, I think you're right.
So folks, if you agree that we should clean up coreboot and make it easier for people, send me an Acked-by: for the above idea.
Signed-off-by: Stefan Reinauer stepan@coresystems.de
Acked-by: Uwe Hermann uwe@hermann-uwe.de
However, there are some follow-up TODOs. All of those SBs have missing license headers and partly inconsistent coding-style (which is to be expected though, as the coding guidelines were not in place back then). I might be able to take care of that sooner or later, but any help is welcome.
My main worry with this kind of stuff is that we get a certain degree of code duplication. As you correctly noted some of that just _looks_ duplicated as the i82801xx driver is incomplete. But there's also stuff which _is_ generic for most ICHs. Maybe we can later factor out some of that to some ichlib.c or something like that. For example the code in i82801*_early_smbus.c is likely a good candidate (didn't check the datasheets closely yet, though).
Uwe.