On Wednesday, February 19, 2014 11:35:22 AM Tomasz Nowicki wrote:
> This commit moves ISA-specific code to separate function and makes that
> function depend on CONFIG_{E}ISA so that we do not have to maintain
> acpi_isa_irq_to_gsi() function for architectures which do not support ISA.
> 
> Signed-off-by: Tomasz Nowicki <tomasz.nowi...@linaro.org>
> ---
>  drivers/acpi/pci_irq.c |   35 +++++++++++++++++++++++++----------
>  1 file changed, 25 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
> index 361b40c..0a553a0 100644
> --- a/drivers/acpi/pci_irq.c
> +++ b/drivers/acpi/pci_irq.c
> @@ -370,6 +370,30 @@ static struct acpi_prt_entry *acpi_pci_irq_lookup(struct 
> pci_dev *dev, int pin)
>       return NULL;
>  }
>  
> +#if IS_ENABLED(CONFIG_ISA) || IS_ENABLED(CONFIG_EISA)
> +static int acpi_isa_register_gsi(struct pci_dev *dev)
> +{
> +     u32 dev_gsi;
> +
> +     /* Interrupt Line values above 0xF are forbidden */
> +     if (dev->irq > 0 && (dev->irq <= 0xF) &&
> +         (acpi_isa_irq_to_gsi(dev->irq, &dev_gsi) == 0)) {
> +             dev_warn(&dev->dev, "PCI INT %c: no GSI - using ISA IRQ %d\n",
> +                      pin_name(dev->pin), dev->irq);
> +             acpi_register_gsi(&dev->dev, dev_gsi,
> +                               ACPI_LEVEL_SENSITIVE,
> +                               ACPI_ACTIVE_LOW);
> +             return 0;
> +     }
> +     return -EINVAL;
> +}
> +#else
> +static inline int acpi_isa_register_gsi(struct pci_dev *dev)
> +{
> +     return -ENODEV;
> +}
> +#endif
> +
>  int acpi_pci_irq_enable(struct pci_dev *dev)
>  {
>       struct acpi_prt_entry *entry;
> @@ -416,16 +440,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
>        * driver reported one, then use it. Exit in any case.
>        */
>       if (gsi < 0) {
> -             u32 dev_gsi;
> -             /* Interrupt Line values above 0xF are forbidden */
> -             if (dev->irq > 0 && (dev->irq <= 0xF) &&
> -                 (acpi_isa_irq_to_gsi(dev->irq, &dev_gsi) == 0)) {
> -                     dev_warn(&dev->dev, "PCI INT %c: no GSI - using ISA IRQ 
> %d\n",
> -                              pin_name(pin), dev->irq);
> -                     acpi_register_gsi(&dev->dev, dev_gsi,
> -                                       ACPI_LEVEL_SENSITIVE,
> -                                       ACPI_ACTIVE_LOW);
> -             } else {
> +             if (acpi_isa_register_gsi(dev)) {

The curly brackets are not necessary here and you can even move the below into
acpi_isa_register_gsi().

>                       dev_warn(&dev->dev, "PCI INT %c: no GSI\n",
>                                pin_name(pin));
>               }
> 

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to