Subject: [PATCH v4 04/19] PCI/MSI: Add hooks to populate the msi_domain field

From: [email-masked] (Marc Zyngier)
Date: Wed, 22 Jul 2015 15:54:14 +0100

On 22/07/15 15:48, Bjorn Helgaas wrote:
> On Wed, Jul 22, 2015 at 9:42 AM, Marc Zyngier <[email-masked]> wrote:
>> Hi Bjorn,
>>
>> On 21/07/15 22:26, Bjorn Helgaas wrote:
>>> On Wed, Jul 15, 2015 at 01:16:38PM +0100, Marc Zyngier wrote:
>>>> In order to be able to populate the device msi_domain field,
>>>> add the necesary hooks to propagate the host bridge msi_domain
>>>> across secondary busses to devices.
>>>>
>>>> So far, nobody populates the initial msi_domain.
>>>>
>>>> Signed-off-by: Marc Zyngier <[email-masked]>
>>>> ---
>>>>  drivers/pci/probe.c | 30 ++++++++++++++++++++++++++++++
>>>>  include/linux/pci.h |  1 +
>>>>  2 files changed, 31 insertions(+)
>>>>
>>>> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
>>>> index cefd636..376f6fa 100644
>>>> --- a/drivers/pci/probe.c
>>>> +++ b/drivers/pci/probe.c
>>>> @@ -661,6 +661,20 @@ static void pci_set_bus_speed(struct pci_bus *bus)
>>>>      }
>>>>  }
>>>>
>>>> +void __weak pcibios_set_host_bridge_msi_domain(struct pci_bus *bus)
>>>> +{
>>>> +}
>>>
>>> I don't think there's anything in this series that requires this to be a
>>> weak function, is there?  This is the only definition I see.
>>
>> It looks like all the pcibios_* functions so far have a weak attribute,
>> and I've added it as a matter of consistency.
> 
> We've used pcibios_* names where we might need an arch-specific
> implementation.  I'm not sure that's the case here -- do you envision
> an implementation under arch/* someday?  If not, maybe it should just
> be a pci_* function instead of pcibios_*.

I could definitely see non-OF driven architectures wanting to override this.

Or maybe we should turn it the other way around and make it call the
various firmware interfaces (OF, ACPI...) until one of them succeeds. In
which case your suggestion of making it a pci_* function makes a lot of
sense.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...