|
@@ -18,14 +18,13 @@
|
|
|
#include <linux/types.h>
|
|
|
#include <linux/interrupt.h>
|
|
|
#include <linux/ioport.h>
|
|
|
+#include <linux/of_address.h>
|
|
|
#include <linux/of_irq.h>
|
|
|
#include <linux/timex.h>
|
|
|
#include <linux/slab.h>
|
|
|
#include <linux/delay.h>
|
|
|
|
|
|
#include <asm/io.h>
|
|
|
-
|
|
|
-#include <asm/mach-jz4740/base.h>
|
|
|
#include <asm/mach-jz4740/irq.h>
|
|
|
|
|
|
#include "irq.h"
|
|
@@ -114,7 +113,11 @@ static int __init ingenic_intc_of_init(struct device_node *node,
|
|
|
goto out_unmap_irq;
|
|
|
|
|
|
intc->num_chips = num_chips;
|
|
|
- intc->base = ioremap(JZ4740_INTC_BASE_ADDR, 0x14);
|
|
|
+ intc->base = of_iomap(node, 0);
|
|
|
+ if (!intc->base) {
|
|
|
+ err = -ENODEV;
|
|
|
+ goto out_unmap_irq;
|
|
|
+ }
|
|
|
|
|
|
for (i = 0; i < num_chips; i++) {
|
|
|
/* Mask all irqs */
|