[PATCH V4 22/23] arm64, pci, acpi: Assign legacy IRQs once device is enable.

Tomasz Nowicki tn at semihalf.com
Thu Feb 11 10:39:12 PST 2016


On 11.02.2016 18:17, Lorenzo Pieralisi wrote:
> Here (on top of your series), ready for flak.
>
> Lorenzo
>
> -- >8 --
> diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
> index 0b53262..26ee291 100644
> --- a/arch/arm64/kernel/pci.c
> +++ b/arch/arm64/kernel/pci.c
> @@ -45,28 +45,23 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
>    */
>   int pcibios_enable_device(struct pci_dev *dev, int mask)
>   {
> -	int ret;
> -
>   	if (pci_has_flag(PCI_PROBE_ONLY))
>   		return 0;
>
> -	ret = pci_enable_resources(dev, mask);
> -	if (ret < 0)
> -		return ret;
> -
> -#ifdef CONFIG_ACPI
> -	if (!pci_dev_msi_enabled(dev))
> -		return acpi_pci_irq_enable(dev);
> -#endif
> -	return 0;
> +	return pci_enable_resources(dev, mask);
>   }
>
>   /*
> - * Try to assign the IRQ number from DT when adding a new device
> + * Try to assign the IRQ number when probing a new device
>    */
> -int pcibios_add_device(struct pci_dev *dev)
> +int pcibios_alloc_irq(struct pci_dev *dev)
>   {
> -	dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> +	if (acpi_disabled)
> +		dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
> +#ifdef CONFIG_ACPI
> +	else
> +		return acpi_pci_irq_enable(dev);
> +#endif
>
>   	return 0;
>   }

I miss that way of solving the problem. OK lets try this way. I will 
integrate it.

Tomasz



More information about the linux-arm-kernel mailing list