linux/arch/mips/pci/fixup-tb0287.c
<<
>>
Prefs
   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
  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 */
  49int pcibios_plat_dev_init(struct pci_dev *dev)
  50{
  51        return 0;
  52}
  53