PageRenderTime 20ms CodeModel.GetById 13ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/mips/pci/fixup-tb0219.c

https://bitbucket.org/evzijst/gittest
C | 66 lines | 40 code | 5 blank | 21 comment | 1 complexity | c081eab839077c3ddc7f400ab77c95f2 MD5 | raw file
 1/*
 2 *  fixup-tb0219.c, The TANBAC TB0219 specific PCI fixups.
 3 *
 4 *  Copyright (C) 2003  Megasolution Inc. <matsu@megasolution.jp>
 5 *  Copyright (C) 2004  Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
 6 *
 7 *  This program is free software; you can redistribute it and/or modify
 8 *  it under the terms of the GNU General Public License as published by
 9 *  the Free Software Foundation; either version 2 of the License, or
10 *  (at your option) any later version.
11 *
12 *  This program is distributed in the hope that it will be useful,
13 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 *  GNU General Public License for more details.
16 *
17 *  You should have received a copy of the GNU General Public License
18 *  along with this program; if not, write to the Free Software
19 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20 */
21#include <linux/init.h>
22#include <linux/pci.h>
23
24#include <asm/vr41xx/tb0219.h>
25
26int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
27{
28	int irq = -1;
29
30	switch (slot) {
31	case 12:
32		vr41xx_set_irq_trigger(TB0219_PCI_SLOT1_PIN,
33				       TRIGGER_LEVEL,
34				       SIGNAL_THROUGH);
35		vr41xx_set_irq_level(TB0219_PCI_SLOT1_PIN,
36				     LEVEL_LOW);
37		irq = TB0219_PCI_SLOT1_IRQ;
38		break;
39	case 13:
40		vr41xx_set_irq_trigger(TB0219_PCI_SLOT2_PIN,
41				       TRIGGER_LEVEL,
42				       SIGNAL_THROUGH);
43		vr41xx_set_irq_level(TB0219_PCI_SLOT2_PIN,
44				     LEVEL_LOW);
45		irq = TB0219_PCI_SLOT2_IRQ;
46		break;
47	case 14:
48		vr41xx_set_irq_trigger(TB0219_PCI_SLOT3_PIN,
49				       TRIGGER_LEVEL,
50				       SIGNAL_THROUGH);
51		vr41xx_set_irq_level(TB0219_PCI_SLOT3_PIN,
52				     LEVEL_LOW);
53		irq = TB0219_PCI_SLOT3_IRQ;
54		break;
55	default:
56		break;
57	}
58
59	return irq;
60}
61
62/* Do platform specific device initialization at pci_enable_device() time */
63int pcibios_plat_dev_init(struct pci_dev *dev)
64{
65	return 0;
66}