Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
mn10300
unit-asb2305
pci-irq.c
Go to the documentation of this file.
1
/* PCI IRQ routing on the MN103E010 based ASB2305
2
*
3
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4
* Written by David Howells (
[email protected]
)
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public Licence
8
* as published by the Free Software Foundation; either version
9
* 2 of the Licence, or (at your option) any later version.
10
*
11
* This is simple: All PCI interrupts route through the CPU's XIRQ1 pin [IRQ 35]
12
*/
13
#include <linux/types.h>
14
#include <linux/kernel.h>
15
#include <linux/pci.h>
16
#include <
linux/init.h
>
17
#include <
linux/interrupt.h
>
18
#include <
linux/irq.h
>
19
#include <asm/io.h>
20
#include <asm/smp.h>
21
#include "
pci-asb2305.h
"
22
23
void
__init
pcibios_irq_init
(
void
)
24
{
25
}
26
27
void
__init
pcibios_fixup_irqs
(
void
)
28
{
29
struct
pci_dev
*
dev
=
NULL
;
30
u8
line
,
pin
;
31
32
while
((dev =
pci_get_device
(
PCI_ANY_ID
,
PCI_ANY_ID
, dev)) !=
NULL
) {
33
pci_read_config_byte(dev,
PCI_INTERRUPT_PIN
, &pin);
34
if
(pin) {
35
dev->
irq
= XIRQ1;
36
pci_write_config_byte(dev,
PCI_INTERRUPT_LINE
,
37
dev->
irq
);
38
}
39
pci_read_config_byte(dev,
PCI_INTERRUPT_LINE
, &line);
40
}
41
}
42
43
void
__init
pcibios_penalize_isa_irq
(
int
irq
)
44
{
45
}
46
47
void
pcibios_enable_irq
(
struct
pci_dev
*
dev
)
48
{
49
pci_write_config_byte(dev,
PCI_INTERRUPT_LINE
, dev->
irq
);
50
}
Generated on Thu Jan 10 2013 13:05:48 for Linux Kernel by
1.8.2