diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-03-05 11:57:58 -0500 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-05 11:58:11 -0500 |
| commit | 3a70b7e05f62d4e1bfd5744368ea1fd855b6e03c (patch) | |
| tree | 0a74b982ab63dd20433bfe6abefdc8dd1b7336b4 /arch/powerpc/sysdev/mpc8xx_pic.c | |
| parent | 7cb7f82611dddb4b471d42d0fad645dd0dc3f360 (diff) | |
| parent | 280ad7fda5f95211857fda38960f2b6fdf6edd3e (diff) | |
Merge branch 'depends/irqdomain' into next/drivers
This is needed in order for the tegra/soc-drivers branch
to work.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/powerpc/sysdev/mpc8xx_pic.c')
| -rw-r--r-- | arch/powerpc/sysdev/mpc8xx_pic.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c index 2ca0a85fcce9..d5f5416be310 100644 --- a/arch/powerpc/sysdev/mpc8xx_pic.c +++ b/arch/powerpc/sysdev/mpc8xx_pic.c | |||
| @@ -17,7 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | extern int cpm_get_irq(struct pt_regs *regs); | 18 | extern int cpm_get_irq(struct pt_regs *regs); |
| 19 | 19 | ||
| 20 | static struct irq_host *mpc8xx_pic_host; | 20 | static struct irq_domain *mpc8xx_pic_host; |
| 21 | #define NR_MASK_WORDS ((NR_IRQS + 31) / 32) | 21 | #define NR_MASK_WORDS ((NR_IRQS + 31) / 32) |
| 22 | static unsigned long ppc_cached_irq_mask[NR_MASK_WORDS]; | 22 | static unsigned long ppc_cached_irq_mask[NR_MASK_WORDS]; |
| 23 | static sysconf8xx_t __iomem *siu_reg; | 23 | static sysconf8xx_t __iomem *siu_reg; |
| @@ -110,7 +110,7 @@ unsigned int mpc8xx_get_irq(void) | |||
| 110 | 110 | ||
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | static int mpc8xx_pic_host_map(struct irq_host *h, unsigned int virq, | 113 | static int mpc8xx_pic_host_map(struct irq_domain *h, unsigned int virq, |
| 114 | irq_hw_number_t hw) | 114 | irq_hw_number_t hw) |
| 115 | { | 115 | { |
| 116 | pr_debug("mpc8xx_pic_host_map(%d, 0x%lx)\n", virq, hw); | 116 | pr_debug("mpc8xx_pic_host_map(%d, 0x%lx)\n", virq, hw); |
| @@ -121,7 +121,7 @@ static int mpc8xx_pic_host_map(struct irq_host *h, unsigned int virq, | |||
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | 123 | ||
| 124 | static int mpc8xx_pic_host_xlate(struct irq_host *h, struct device_node *ct, | 124 | static int mpc8xx_pic_host_xlate(struct irq_domain *h, struct device_node *ct, |
| 125 | const u32 *intspec, unsigned int intsize, | 125 | const u32 *intspec, unsigned int intsize, |
| 126 | irq_hw_number_t *out_hwirq, unsigned int *out_flags) | 126 | irq_hw_number_t *out_hwirq, unsigned int *out_flags) |
| 127 | { | 127 | { |
| @@ -142,7 +142,7 @@ static int mpc8xx_pic_host_xlate(struct irq_host *h, struct device_node *ct, | |||
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | 144 | ||
| 145 | static struct irq_host_ops mpc8xx_pic_host_ops = { | 145 | static struct irq_domain_ops mpc8xx_pic_host_ops = { |
| 146 | .map = mpc8xx_pic_host_map, | 146 | .map = mpc8xx_pic_host_map, |
| 147 | .xlate = mpc8xx_pic_host_xlate, | 147 | .xlate = mpc8xx_pic_host_xlate, |
| 148 | }; | 148 | }; |
| @@ -171,8 +171,7 @@ int mpc8xx_pic_init(void) | |||
| 171 | goto out; | 171 | goto out; |
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | mpc8xx_pic_host = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, | 174 | mpc8xx_pic_host = irq_domain_add_linear(np, 64, &mpc8xx_pic_host_ops, NULL); |
| 175 | 64, &mpc8xx_pic_host_ops, 64); | ||
| 176 | if (mpc8xx_pic_host == NULL) { | 175 | if (mpc8xx_pic_host == NULL) { |
| 177 | printk(KERN_ERR "MPC8xx PIC: failed to allocate irq host!\n"); | 176 | printk(KERN_ERR "MPC8xx PIC: failed to allocate irq host!\n"); |
| 178 | ret = -ENOMEM; | 177 | ret = -ENOMEM; |
