diff options
author | Yoichi Yuasa <yuasa@hh.iij4u.or.jp> | 2005-07-12 13:58:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-12 16:01:02 -0700 |
commit | 6e498c1080ae794a8dc788152002fb39994ae78b (patch) | |
tree | 88884153708d47ef1fb03157d02503ecd1cb65e5 /drivers/char/tb0219.c | |
parent | 01e77d31d11a767c9da665f46e075756aef4fc4f (diff) | |
download | kernel_samsung_smdk4412-6e498c1080ae794a8dc788152002fb39994ae78b.zip kernel_samsung_smdk4412-6e498c1080ae794a8dc788152002fb39994ae78b.tar.gz kernel_samsung_smdk4412-6e498c1080ae794a8dc788152002fb39994ae78b.tar.bz2 |
[PATCH] TB0219: add PCI IRQ initialization
This patch adds PCI IRQ initialization to TB0219 driver.
Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/tb0219.c')
-rw-r--r-- | drivers/char/tb0219.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/char/tb0219.c b/drivers/char/tb0219.c index 5413f29..eb7058c 100644 --- a/drivers/char/tb0219.c +++ b/drivers/char/tb0219.c @@ -24,6 +24,8 @@ #include <asm/io.h> #include <asm/reboot.h> +#include <asm/vr41xx/giu.h> +#include <asm/vr41xx/tb0219.h> MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>"); MODULE_DESCRIPTION("TANBAC TB0219 base board driver"); @@ -266,6 +268,21 @@ static void tb0219_restart(char *command) tb0219_write(TB0219_RESET, 0); } +static void tb0219_pci_irq_init(void) +{ + /* PCI Slot 1 */ + vr41xx_set_irq_trigger(TB0219_PCI_SLOT1_PIN, IRQ_TRIGGER_LEVEL, IRQ_SIGNAL_THROUGH); + vr41xx_set_irq_level(TB0219_PCI_SLOT1_PIN, IRQ_LEVEL_LOW); + + /* PCI Slot 2 */ + vr41xx_set_irq_trigger(TB0219_PCI_SLOT2_PIN, IRQ_TRIGGER_LEVEL, IRQ_SIGNAL_THROUGH); + vr41xx_set_irq_level(TB0219_PCI_SLOT2_PIN, IRQ_LEVEL_LOW); + + /* PCI Slot 3 */ + vr41xx_set_irq_trigger(TB0219_PCI_SLOT3_PIN, IRQ_TRIGGER_LEVEL, IRQ_SIGNAL_THROUGH); + vr41xx_set_irq_level(TB0219_PCI_SLOT3_PIN, IRQ_LEVEL_LOW); +} + static int tb0219_probe(struct device *dev) { int retval; @@ -292,6 +309,8 @@ static int tb0219_probe(struct device *dev) old_machine_restart = _machine_restart; _machine_restart = tb0219_restart; + tb0219_pci_irq_init(); + if (major == 0) { major = retval; printk(KERN_INFO "TB0219: major number %d\n", major); |