1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * fixup-tb0287.c, The TANBAC TB0287 specific PCI fixups. 4 * 5 * Copyright (C) 2005 Yoichi Yuasa <yuasa@linux-mips.org> 6 */ 7 #include <linux/init.h> 8 #include <linux/pci.h> 9 10 #include <asm/vr41xx/tb0287.h> 11 pcibios_map_irq(const struct pci_dev * dev,u8 slot,u8 pin)12int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 13 { 14 unsigned char bus; 15 int irq = -1; 16 17 bus = dev->bus->number; 18 if (bus == 0) { 19 switch (slot) { 20 case 16: 21 irq = TB0287_SM501_IRQ; 22 break; 23 case 17: 24 irq = TB0287_SIL680A_IRQ; 25 break; 26 default: 27 break; 28 } 29 } else if (bus == 1) { 30 switch (PCI_SLOT(dev->devfn)) { 31 case 0: 32 irq = TB0287_PCI_SLOT_IRQ; 33 break; 34 case 2: 35 case 3: 36 irq = TB0287_RTL8110_IRQ; 37 break; 38 default: 39 break; 40 } 41 } else if (bus > 1) { 42 irq = TB0287_PCI_SLOT_IRQ; 43 } 44 45 return irq; 46 } 47 48 /* Do platform specific device initialization at pci_enable_device() time */ pcibios_plat_dev_init(struct pci_dev * dev)49int pcibios_plat_dev_init(struct pci_dev *dev) 50 { 51 return 0; 52 } 53