Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fixup-rbtx4938.c
Go to the documentation of this file.
1 /*
2  * Toshiba rbtx4938 pci routines
3  * Copyright (C) 2000-2001 Toshiba Corporation
4  *
5  * 2003-2005 (c) MontaVista Software, Inc. This file is licensed under the
6  * terms of the GNU General Public License version 2. This program is
7  * licensed "as is" without any warranty of any kind, whether express
8  * or implied.
9  *
10  * Support for TX4938 in 2.6 - Manish Lachwani ([email protected])
11  */
12 #include <linux/types.h>
13 #include <asm/txx9/pci.h>
14 #include <asm/txx9/rbtx4938.h>
15 
17 {
18  int irq = tx4938_pcic1_map_irq(dev, slot);
19 
20  if (irq >= 0)
21  return irq;
22  irq = pin;
23  /* IRQ rotation */
24  irq--; /* 0-3 */
25  if (slot == TX4927_PCIC_IDSEL_AD_TO_SLOT(23)) {
26  /* PCI CardSlot (IDSEL=A23) */
27  /* PCIA => PCIA (IDSEL=A23) */
28  irq = (irq + 0 + slot) % 4;
29  } else {
30  /* PCI Backplane */
32  irq = (irq + 33 - slot) % 4;
33  else
34  irq = (irq + 3 + slot) % 4;
35  }
36  irq++; /* 1-4 */
37 
38  switch (irq) {
39  case 1:
41  break;
42  case 2:
44  break;
45  case 3:
47  break;
48  case 4:
50  break;
51  }
52  return irq;
53 }