aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/drivers/pci/fixups-landisk.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-04-20 21:17:10 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-04-20 21:17:10 +0900
commit84972ec0c206b73ffb74e5114b574186ce6166b8 (patch)
tree24ef4ada49ee0515269a4307f84ce75ac97401a7 /arch/sh/drivers/pci/fixups-landisk.c
parent757e3c16f8bafa2a470aebf9b04671c5d4d18f49 (diff)
sh: pci: Rename SH7751 platform ops files to fixups.
None of these contain pci_ops, only IRQ routing bits, rename them accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/drivers/pci/fixups-landisk.c')
-rw-r--r--arch/sh/drivers/pci/fixups-landisk.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/sh/drivers/pci/fixups-landisk.c b/arch/sh/drivers/pci/fixups-landisk.c
new file mode 100644
index 00000000000..bb1a6bb5149
--- /dev/null
+++ b/arch/sh/drivers/pci/fixups-landisk.c
@@ -0,0 +1,34 @@
+/*
+ * arch/sh/drivers/pci/ops-landisk.c
+ *
+ * PCI initialization for the I-O DATA Device, Inc. LANDISK board
+ *
+ * Copyright (C) 2006 kogiidena
+ *
+ * May be copied or modified under the terms of the GNU General Public
+ * License. See linux/COPYING for more information.
+ */
+#include <linux/kernel.h>
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/delay.h>
+#include <linux/pci.h>
+#include "pci-sh4.h"
+
+int pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
+{
+ /*
+ * slot0: pin1-4 = irq5,6,7,8
+ * slot1: pin1-4 = irq6,7,8,5
+ * slot2: pin1-4 = irq7,8,5,6
+ * slot3: pin1-4 = irq8,5,6,7
+ */
+ int irq = ((slot + pin - 1) & 0x3) + 5;
+
+ if ((slot | (pin - 1)) > 0x3) {
+ printk("PCI: Bad IRQ mapping request for slot %d pin %c\n",
+ slot, pin - 1 + 'A');
+ return -1;
+ }
+ return irq;
+}