diff options
author | Yoichi Yuasa <yuasa@hh.iij4u.or.jp> | 2005-07-12 16:58:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-12 19:01:02 -0400 |
commit | 6e498c1080ae794a8dc788152002fb39994ae78b (patch) | |
tree | 88884153708d47ef1fb03157d02503ecd1cb65e5 /drivers/char/tb0219.c | |
parent | 01e77d31d11a767c9da665f46e075756aef4fc4f (diff) |
[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 5413f2908859..eb7058cbf015 100644 --- a/drivers/char/tb0219.c +++ b/drivers/char/tb0219.c | |||
@@ -24,6 +24,8 @@ | |||
24 | 24 | ||
25 | #include <asm/io.h> | 25 | #include <asm/io.h> |
26 | #include <asm/reboot.h> | 26 | #include <asm/reboot.h> |
27 | #include <asm/vr41xx/giu.h> | ||
28 | #include <asm/vr41xx/tb0219.h> | ||
27 | 29 | ||
28 | MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>"); | 30 | MODULE_AUTHOR("Yoichi Yuasa <yuasa@hh.iij4u.or.jp>"); |
29 | MODULE_DESCRIPTION("TANBAC TB0219 base board driver"); | 31 | MODULE_DESCRIPTION("TANBAC TB0219 base board driver"); |
@@ -266,6 +268,21 @@ static void tb0219_restart(char *command) | |||
266 | tb0219_write(TB0219_RESET, 0); | 268 | tb0219_write(TB0219_RESET, 0); |
267 | } | 269 | } |
268 | 270 | ||
271 | static void tb0219_pci_irq_init(void) | ||
272 | { | ||
273 | /* PCI Slot 1 */ | ||
274 | vr41xx_set_irq_trigger(TB0219_PCI_SLOT1_PIN, IRQ_TRIGGER_LEVEL, IRQ_SIGNAL_THROUGH); | ||
275 | vr41xx_set_irq_level(TB0219_PCI_SLOT1_PIN, IRQ_LEVEL_LOW); | ||
276 | |||
277 | /* PCI Slot 2 */ | ||
278 | vr41xx_set_irq_trigger(TB0219_PCI_SLOT2_PIN, IRQ_TRIGGER_LEVEL, IRQ_SIGNAL_THROUGH); | ||
279 | vr41xx_set_irq_level(TB0219_PCI_SLOT2_PIN, IRQ_LEVEL_LOW); | ||
280 | |||
281 | /* PCI Slot 3 */ | ||
282 | vr41xx_set_irq_trigger(TB0219_PCI_SLOT3_PIN, IRQ_TRIGGER_LEVEL, IRQ_SIGNAL_THROUGH); | ||
283 | vr41xx_set_irq_level(TB0219_PCI_SLOT3_PIN, IRQ_LEVEL_LOW); | ||
284 | } | ||
285 | |||
269 | static int tb0219_probe(struct device *dev) | 286 | static int tb0219_probe(struct device *dev) |
270 | { | 287 | { |
271 | int retval; | 288 | int retval; |
@@ -292,6 +309,8 @@ static int tb0219_probe(struct device *dev) | |||
292 | old_machine_restart = _machine_restart; | 309 | old_machine_restart = _machine_restart; |
293 | _machine_restart = tb0219_restart; | 310 | _machine_restart = tb0219_restart; |
294 | 311 | ||
312 | tb0219_pci_irq_init(); | ||
313 | |||
295 | if (major == 0) { | 314 | if (major == 0) { |
296 | major = retval; | 315 | major = retval; |
297 | printk(KERN_INFO "TB0219: major number %d\n", major); | 316 | printk(KERN_INFO "TB0219: major number %d\n", major); |