On Fri, Aug 07, 2015 at 12:03:24PM +0200, Tomasz Nowicki wrote:
@@ -670,6 +671,8 @@ static struct irq_domain *pci_host_bridge_msi_domain(struct pci_bus *bus) * should be called from here. */ d = pci_host_bridge_of_msi_domain(bus);
- if (!d)
d = pci_host_bridge_acpi_msi_domain(bus);
Please use acpi_disabled here.
BTW. This is another place where we need to know our firmware - DT vs ACPI. I know we can use acpi_disabled but I think more about generic solution. Since we already have: struct fwnode_handle *fwnode; we can create macro which identify h/w description style, something like:
#define FWNODE_TYPE(dev) dev_fwnode(dev)->type
and then:
switch (FWNODE_TYPE(&bus->dev)) { case FWNODE_OF: ... case FWNODE_ACPI: ... case FWNODE_XXX: ... }
Root bus is special case since it has no frimware type but we could factor out pci_set_bus_of_node(). For platform devices we have all we need. Just thinking aloud, let me know your thoughts.
Not knowing the particular detail here but can we not go a step further than that and have a fwnode_disabled() for this which does appropriate things for both ACPI and DT?