linux/arch/sh/drivers/pci/fixups-sh03.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <linux/kernel.h>
   3#include <linux/init.h>
   4#include <linux/types.h>
   5#include <linux/pci.h>
   6#include <linux/sh_intc.h>
   7
   8int pcibios_map_platform_irq(const struct pci_dev *dev, u8 slot, u8 pin)
   9{
  10        int irq;
  11
  12        if (dev->bus->number == 0) {
  13                switch (slot) {
  14                case 4: return evt2irq(0x2a0);  /* eth0       */
  15                case 8: return evt2irq(0x2a0);  /* eth1       */
  16                case 6: return evt2irq(0x240);  /* PCI bridge */
  17                default:
  18                        printk(KERN_ERR "PCI: Bad IRQ mapping request "
  19                                        "for slot %d\n", slot);
  20                        return evt2irq(0x240);
  21                }
  22        } else {
  23                switch (pin) {
  24                case 0:   irq =  evt2irq(0x240); break;
  25                case 1:   irq =  evt2irq(0x240); break;
  26                case 2:   irq =  evt2irq(0x240); break;
  27                case 3:   irq =  evt2irq(0x240); break;
  28                case 4:   irq =  evt2irq(0x240); break;
  29                default:  irq = -1; break;
  30                }
  31        }
  32        return irq;
  33}
  34