linux/arch/sh/drivers/pci/fixups-snapgear.c
<<
>>
Prefs
   1/*
   2 * arch/sh/drivers/pci/ops-snapgear.c
   3 *
   4 * Author:  David McCullough <davidm@snapgear.com>
   5 *
   6 * Ported to new API by Paul Mundt <lethal@linux-sh.org>
   7 *
   8 * Highly leveraged from pci-bigsur.c, written by Dustin McIntire.
   9 *
  10 * May be copied or modified under the terms of the GNU General Public
  11 * License.  See linux/COPYING for more information.
  12 *
  13 * PCI initialization for the SnapGear boards
  14 */
  15#include <linux/kernel.h>
  16#include <linux/types.h>
  17#include <linux/init.h>
  18#include <linux/pci.h>
  19#include "pci-sh4.h"
  20
  21int __init pcibios_map_platform_irq(const struct pci_dev *pdev, u8 slot, u8 pin)
  22{
  23        int irq = -1;
  24
  25        switch (slot) {
  26        case 8:  /* the PCI bridge */ break;
  27        case 11: irq = 8;  break; /* USB    */
  28        case 12: irq = 11; break; /* PCMCIA */
  29        case 13: irq = 5;  break; /* eth0   */
  30        case 14: irq = 8;  break; /* eth1   */
  31        case 15: irq = 11; break; /* safenet (unused) */
  32        }
  33
  34        printk("PCI: Mapping SnapGear IRQ for slot %d, pin %c to irq %d\n",
  35               slot, pin - 1 + 'A', irq);
  36
  37        return irq;
  38}
  39