Subject: Re: [PATCH 2/7] Powerpc MSI implementation

From: Benjamin Herrenschmidt <[email-masked]>
Date: Sun, 14 Jan 2007 07:40:15 +1100

> I'm saying I don't want to see 2 different MSI implementations in the
> kernel.  I'm sure you can understand this reasoning.
> 
> I misunderstood your original patches in that I thought you were
> cleaning up the generic versions for everyone, not creating a separate
> set of APIs.  Sorry for the misunderstanding.

It's not a separate set of APIs. The APIs are the same (as far as
drivers are concerned). We are providing a new "core" that indeed aims
are replacing the current one (and provides the same APIs to drivers).

We have two backends implemented for it for now, soon 3 as I need to
write one for Cell blades.

So at this point we have three possible approaches:

 1- We can put it entirely in arch/powerpc. You NAKed the few generic
changes to pci.h but we can hide that in sysdata or some other ppc
specific stuff hanging off pci_dev. That is maybe the easiest approach
for us to at least have MSI support in 2.6.21. (We really do need MSI
support in urgently).

 2- We can put it as I suggested and you just NAKed in
drivers/pci/msi-new.c along with our new backends. Thus, Kconfig defines
wether the old core is used (Intel,Altix) or the new core. I still feel
that's the best option as it makes it easier for other archs (including
Intel & Altix) to port MSI support to the new infrastructure as it will
be there. Maybe the best approach is to compromise here and do that, but
keep it in -mm until Intel and Altix are ported over in which case it
can be merged in linus tree.

 3- We can keep it out of tree and try to work with others to have Intel
and Altix stuff ported over out of tree, until we have a new patch which
completely replaces the existing stuff.

I still think it's better to have the new core in -mm before everything
is ported to it though.

Ben.