> +             mask = pci_irq_get_affinity(to_pci_dev(dev->dev), i);
> +             if (mask) {
> +                     node = cpu_to_node(cpumask_first(mask));
> +                     node = local_memory_node(node);
> +             }

Can you move this to a PCI-layer helper, e.g. something like:

int pci_irq_get_node(struct pci_dev *dev, unsigned vec)
{
        const struct cpumask *mask = pci_irq_get_affinity(dev), i);
        if (mask)
                return local_memory_node(cpu_to_node(cpumask_first(mask)));
        return dev_to_node(&dev->dev);
}

Otherwise this looks fine.

Reply via email to