diff options
| author | Michael Ellerman <mpe@ellerman.id.au> | 2016-09-06 07:53:24 -0400 |
|---|---|---|
| committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-09-20 06:57:12 -0400 |
| commit | ef24ba7091517d2bbf9ba2cb4256c0dccd51d248 (patch) | |
| tree | f988a2b82eab1ec83aa2a08e34190a9a32b4035f /arch/powerpc/sysdev | |
| parent | 9d82fd2fae925efdf546cc25afdc664a2e3a2d9f (diff) | |
powerpc: Remove all usages of NO_IRQ
NO_IRQ has been == 0 on powerpc for just over ten years (since commit
0ebfff1491ef ("[POWERPC] Add new interrupt mapping core and change
platforms to use it")). It's also 0 on most other arches.
Although it's fairly harmless, every now and then it causes confusion
when a driver is built on powerpc and another arch which doesn't define
NO_IRQ. There's at least 6 definitions of NO_IRQ in drivers/, at least
some of which are to work around that problem.
So we'd like to remove it. This is fairly trivial in the arch code, we
just convert:
if (irq == NO_IRQ) to if (!irq)
if (irq != NO_IRQ) to if (irq)
irq = NO_IRQ; to irq = 0;
return NO_IRQ; to return 0;
And a few other odd cases as well.
At least for now we keep the #define NO_IRQ, because there is driver
code that uses NO_IRQ and the fixes to remove those will go via other
trees.
Note we also change some occurrences in PPC sound drivers, drivers/ps3,
and drivers/macintosh.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/sysdev')
24 files changed, 61 insertions, 61 deletions
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c index 9144204442eb..ada29eaed6e2 100644 --- a/arch/powerpc/sysdev/axonram.c +++ b/arch/powerpc/sysdev/axonram.c | |||
| @@ -240,7 +240,7 @@ static int axon_ram_probe(struct platform_device *device) | |||
| 240 | device_add_disk(&device->dev, bank->disk); | 240 | device_add_disk(&device->dev, bank->disk); |
| 241 | 241 | ||
| 242 | bank->irq_id = irq_of_parse_and_map(device->dev.of_node, 0); | 242 | bank->irq_id = irq_of_parse_and_map(device->dev.of_node, 0); |
| 243 | if (bank->irq_id == NO_IRQ) { | 243 | if (!bank->irq_id) { |
| 244 | dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); | 244 | dev_err(&device->dev, "Cannot access ECC interrupt ID\n"); |
| 245 | rc = -EFAULT; | 245 | rc = -EFAULT; |
| 246 | goto failed; | 246 | goto failed; |
| @@ -250,7 +250,7 @@ static int axon_ram_probe(struct platform_device *device) | |||
| 250 | AXON_RAM_IRQ_FLAGS, bank->disk->disk_name, device); | 250 | AXON_RAM_IRQ_FLAGS, bank->disk->disk_name, device); |
| 251 | if (rc != 0) { | 251 | if (rc != 0) { |
| 252 | dev_err(&device->dev, "Cannot register ECC interrupt handler\n"); | 252 | dev_err(&device->dev, "Cannot register ECC interrupt handler\n"); |
| 253 | bank->irq_id = NO_IRQ; | 253 | bank->irq_id = 0; |
| 254 | rc = -EFAULT; | 254 | rc = -EFAULT; |
| 255 | goto failed; | 255 | goto failed; |
| 256 | } | 256 | } |
| @@ -268,7 +268,7 @@ static int axon_ram_probe(struct platform_device *device) | |||
| 268 | 268 | ||
| 269 | failed: | 269 | failed: |
| 270 | if (bank != NULL) { | 270 | if (bank != NULL) { |
| 271 | if (bank->irq_id != NO_IRQ) | 271 | if (bank->irq_id) |
| 272 | free_irq(bank->irq_id, device); | 272 | free_irq(bank->irq_id, device); |
| 273 | if (bank->disk != NULL) { | 273 | if (bank->disk != NULL) { |
| 274 | if (bank->disk->major > 0) | 274 | if (bank->disk->major > 0) |
diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c index 81d49476c47e..3c0eb9b25535 100644 --- a/arch/powerpc/sysdev/cpm1.c +++ b/arch/powerpc/sysdev/cpm1.c | |||
| @@ -132,7 +132,7 @@ unsigned int cpm_pic_init(void) | |||
| 132 | { | 132 | { |
| 133 | struct device_node *np = NULL; | 133 | struct device_node *np = NULL; |
| 134 | struct resource res; | 134 | struct resource res; |
| 135 | unsigned int sirq = NO_IRQ, hwirq, eirq; | 135 | unsigned int sirq = 0, hwirq, eirq; |
| 136 | int ret; | 136 | int ret; |
| 137 | 137 | ||
| 138 | pr_debug("cpm_pic_init\n"); | 138 | pr_debug("cpm_pic_init\n"); |
| @@ -154,7 +154,7 @@ unsigned int cpm_pic_init(void) | |||
| 154 | goto end; | 154 | goto end; |
| 155 | 155 | ||
| 156 | sirq = irq_of_parse_and_map(np, 0); | 156 | sirq = irq_of_parse_and_map(np, 0); |
| 157 | if (sirq == NO_IRQ) | 157 | if (!sirq) |
| 158 | goto end; | 158 | goto end; |
| 159 | 159 | ||
| 160 | /* Initialize the CPM interrupt controller. */ | 160 | /* Initialize the CPM interrupt controller. */ |
| @@ -168,7 +168,7 @@ unsigned int cpm_pic_init(void) | |||
| 168 | cpm_pic_host = irq_domain_add_linear(np, 64, &cpm_pic_host_ops, NULL); | 168 | cpm_pic_host = irq_domain_add_linear(np, 64, &cpm_pic_host_ops, NULL); |
| 169 | if (cpm_pic_host == NULL) { | 169 | if (cpm_pic_host == NULL) { |
| 170 | printk(KERN_ERR "CPM2 PIC: failed to allocate irq host!\n"); | 170 | printk(KERN_ERR "CPM2 PIC: failed to allocate irq host!\n"); |
| 171 | sirq = NO_IRQ; | 171 | sirq = 0; |
| 172 | goto end; | 172 | goto end; |
| 173 | } | 173 | } |
| 174 | 174 | ||
| @@ -182,7 +182,7 @@ unsigned int cpm_pic_init(void) | |||
| 182 | } | 182 | } |
| 183 | 183 | ||
| 184 | eirq = irq_of_parse_and_map(np, 0); | 184 | eirq = irq_of_parse_and_map(np, 0); |
| 185 | if (eirq == NO_IRQ) | 185 | if (!eirq) |
| 186 | goto end; | 186 | goto end; |
| 187 | 187 | ||
| 188 | if (setup_irq(eirq, &cpm_error_irqaction)) | 188 | if (setup_irq(eirq, &cpm_error_irqaction)) |
diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index bffcc7a486a1..48866e6c1efb 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c | |||
| @@ -155,7 +155,7 @@ static struct irq_chip ehv_pic_direct_eoi_irq_chip = { | |||
| 155 | .irq_set_type = ehv_pic_set_irq_type, | 155 | .irq_set_type = ehv_pic_set_irq_type, |
| 156 | }; | 156 | }; |
| 157 | 157 | ||
| 158 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ | 158 | /* Return an interrupt vector or 0 if no interrupt is pending. */ |
| 159 | unsigned int ehv_pic_get_irq(void) | 159 | unsigned int ehv_pic_get_irq(void) |
| 160 | { | 160 | { |
| 161 | int irq; | 161 | int irq; |
| @@ -168,7 +168,7 @@ unsigned int ehv_pic_get_irq(void) | |||
| 168 | ev_int_iack(0, &irq); /* legacy mode */ | 168 | ev_int_iack(0, &irq); /* legacy mode */ |
| 169 | 169 | ||
| 170 | if (irq == 0xFFFF) /* 0xFFFF --> no irq is pending */ | 170 | if (irq == 0xFFFF) /* 0xFFFF --> no irq is pending */ |
| 171 | return NO_IRQ; | 171 | return 0; |
| 172 | 172 | ||
| 173 | /* | 173 | /* |
| 174 | * this will also setup revmap[] in the slow path for the first | 174 | * this will also setup revmap[] in the slow path for the first |
diff --git a/arch/powerpc/sysdev/fsl_gtm.c b/arch/powerpc/sysdev/fsl_gtm.c index 06ac3c61b3d0..a6f0b96ce2c9 100644 --- a/arch/powerpc/sysdev/fsl_gtm.c +++ b/arch/powerpc/sysdev/fsl_gtm.c | |||
| @@ -406,7 +406,7 @@ static int __init fsl_gtm_init(void) | |||
| 406 | unsigned int irq; | 406 | unsigned int irq; |
| 407 | 407 | ||
| 408 | irq = irq_of_parse_and_map(np, i); | 408 | irq = irq_of_parse_and_map(np, i); |
| 409 | if (irq == NO_IRQ) { | 409 | if (!irq) { |
| 410 | pr_err("%s: not enough interrupts specified\n", | 410 | pr_err("%s: not enough interrupts specified\n", |
| 411 | np->full_name); | 411 | np->full_name); |
| 412 | goto err; | 412 | goto err; |
diff --git a/arch/powerpc/sysdev/fsl_mpic_err.c b/arch/powerpc/sysdev/fsl_mpic_err.c index b83f32562a37..488ec453038a 100644 --- a/arch/powerpc/sysdev/fsl_mpic_err.c +++ b/arch/powerpc/sysdev/fsl_mpic_err.c | |||
| @@ -115,8 +115,8 @@ static irqreturn_t fsl_error_int_handler(int irq, void *data) | |||
| 115 | errint = __builtin_clz(eisr); | 115 | errint = __builtin_clz(eisr); |
| 116 | cascade_irq = irq_linear_revmap(mpic->irqhost, | 116 | cascade_irq = irq_linear_revmap(mpic->irqhost, |
| 117 | mpic->err_int_vecs[errint]); | 117 | mpic->err_int_vecs[errint]); |
| 118 | WARN_ON(cascade_irq == NO_IRQ); | 118 | WARN_ON(!cascade_irq); |
| 119 | if (cascade_irq != NO_IRQ) { | 119 | if (cascade_irq) { |
| 120 | generic_handle_irq(cascade_irq); | 120 | generic_handle_irq(cascade_irq); |
| 121 | } else { | 121 | } else { |
| 122 | eimr |= 1 << (31 - errint); | 122 | eimr |= 1 << (31 - errint); |
| @@ -134,7 +134,7 @@ void mpic_err_int_init(struct mpic *mpic, irq_hw_number_t irqnum) | |||
| 134 | int ret; | 134 | int ret; |
| 135 | 135 | ||
| 136 | virq = irq_create_mapping(mpic->irqhost, irqnum); | 136 | virq = irq_create_mapping(mpic->irqhost, irqnum); |
| 137 | if (virq == NO_IRQ) { | 137 | if (!virq) { |
| 138 | pr_err("Error interrupt setup failed\n"); | 138 | pr_err("Error interrupt setup failed\n"); |
| 139 | return; | 139 | return; |
| 140 | } | 140 | } |
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 3a2be3676f43..8a244828782e 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c | |||
| @@ -131,7 +131,7 @@ static void fsl_teardown_msi_irqs(struct pci_dev *pdev) | |||
| 131 | irq_hw_number_t hwirq; | 131 | irq_hw_number_t hwirq; |
| 132 | 132 | ||
| 133 | for_each_pci_msi_entry(entry, pdev) { | 133 | for_each_pci_msi_entry(entry, pdev) { |
| 134 | if (entry->irq == NO_IRQ) | 134 | if (!entry->irq) |
| 135 | continue; | 135 | continue; |
| 136 | hwirq = virq_to_hw(entry->irq); | 136 | hwirq = virq_to_hw(entry->irq); |
| 137 | msi_data = irq_get_chip_data(entry->irq); | 137 | msi_data = irq_get_chip_data(entry->irq); |
| @@ -250,7 +250,7 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) | |||
| 250 | 250 | ||
| 251 | virq = irq_create_mapping(msi_data->irqhost, hwirq); | 251 | virq = irq_create_mapping(msi_data->irqhost, hwirq); |
| 252 | 252 | ||
| 253 | if (virq == NO_IRQ) { | 253 | if (!virq) { |
| 254 | dev_err(&pdev->dev, "fail mapping hwirq %i\n", hwirq); | 254 | dev_err(&pdev->dev, "fail mapping hwirq %i\n", hwirq); |
| 255 | msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); | 255 | msi_bitmap_free_hwirqs(&msi_data->bitmap, hwirq, 1); |
| 256 | rc = -ENOSPC; | 256 | rc = -ENOSPC; |
| @@ -285,7 +285,7 @@ static irqreturn_t fsl_msi_cascade(int irq, void *data) | |||
| 285 | msir_index = cascade_data->index; | 285 | msir_index = cascade_data->index; |
| 286 | 286 | ||
| 287 | if (msir_index >= NR_MSI_REG_MAX) | 287 | if (msir_index >= NR_MSI_REG_MAX) |
| 288 | cascade_irq = NO_IRQ; | 288 | cascade_irq = 0; |
| 289 | 289 | ||
| 290 | switch (msi_data->feature & FSL_PIC_IP_MASK) { | 290 | switch (msi_data->feature & FSL_PIC_IP_MASK) { |
| 291 | case FSL_PIC_IP_MPIC: | 291 | case FSL_PIC_IP_MPIC: |
| @@ -315,7 +315,7 @@ static irqreturn_t fsl_msi_cascade(int irq, void *data) | |||
| 315 | cascade_irq = irq_linear_revmap(msi_data->irqhost, | 315 | cascade_irq = irq_linear_revmap(msi_data->irqhost, |
| 316 | msi_hwirq(msi_data, msir_index, | 316 | msi_hwirq(msi_data, msir_index, |
| 317 | intr_index + have_shift)); | 317 | intr_index + have_shift)); |
| 318 | if (cascade_irq != NO_IRQ) { | 318 | if (cascade_irq) { |
| 319 | generic_handle_irq(cascade_irq); | 319 | generic_handle_irq(cascade_irq); |
| 320 | ret = IRQ_HANDLED; | 320 | ret = IRQ_HANDLED; |
| 321 | } | 321 | } |
| @@ -337,7 +337,7 @@ static int fsl_of_msi_remove(struct platform_device *ofdev) | |||
| 337 | if (msi->cascade_array[i]) { | 337 | if (msi->cascade_array[i]) { |
| 338 | virq = msi->cascade_array[i]->virq; | 338 | virq = msi->cascade_array[i]->virq; |
| 339 | 339 | ||
| 340 | BUG_ON(virq == NO_IRQ); | 340 | BUG_ON(!virq); |
| 341 | 341 | ||
| 342 | free_irq(virq, msi->cascade_array[i]); | 342 | free_irq(virq, msi->cascade_array[i]); |
| 343 | kfree(msi->cascade_array[i]); | 343 | kfree(msi->cascade_array[i]); |
| @@ -362,7 +362,7 @@ static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev, | |||
| 362 | int virt_msir, i, ret; | 362 | int virt_msir, i, ret; |
| 363 | 363 | ||
| 364 | virt_msir = irq_of_parse_and_map(dev->dev.of_node, irq_index); | 364 | virt_msir = irq_of_parse_and_map(dev->dev.of_node, irq_index); |
| 365 | if (virt_msir == NO_IRQ) { | 365 | if (!virt_msir) { |
| 366 | dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n", | 366 | dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n", |
| 367 | __func__, irq_index); | 367 | __func__, irq_index); |
| 368 | return 0; | 368 | return 0; |
diff --git a/arch/powerpc/sysdev/ge/ge_pic.c b/arch/powerpc/sysdev/ge/ge_pic.c index d57b77573068..02553a8ce191 100644 --- a/arch/powerpc/sysdev/ge/ge_pic.c +++ b/arch/powerpc/sysdev/ge/ge_pic.c | |||
| @@ -102,7 +102,7 @@ static void gef_pic_cascade(struct irq_desc *desc) | |||
| 102 | */ | 102 | */ |
| 103 | cascade_irq = gef_pic_get_irq(); | 103 | cascade_irq = gef_pic_get_irq(); |
| 104 | 104 | ||
| 105 | if (cascade_irq != NO_IRQ) | 105 | if (cascade_irq) |
| 106 | generic_handle_irq(cascade_irq); | 106 | generic_handle_irq(cascade_irq); |
| 107 | 107 | ||
| 108 | chip->irq_eoi(&desc->irq_data); | 108 | chip->irq_eoi(&desc->irq_data); |
| @@ -206,7 +206,7 @@ void __init gef_pic_init(struct device_node *np) | |||
| 206 | 206 | ||
| 207 | /* Map controller */ | 207 | /* Map controller */ |
| 208 | gef_pic_cascade_irq = irq_of_parse_and_map(np, 0); | 208 | gef_pic_cascade_irq = irq_of_parse_and_map(np, 0); |
| 209 | if (gef_pic_cascade_irq == NO_IRQ) { | 209 | if (!gef_pic_cascade_irq) { |
| 210 | printk(KERN_ERR "SBC610: failed to map cascade interrupt"); | 210 | printk(KERN_ERR "SBC610: failed to map cascade interrupt"); |
| 211 | return; | 211 | return; |
| 212 | } | 212 | } |
| @@ -223,12 +223,12 @@ void __init gef_pic_init(struct device_node *np) | |||
| 223 | 223 | ||
| 224 | /* | 224 | /* |
| 225 | * This is called when we receive an interrupt with apparently comes from this | 225 | * This is called when we receive an interrupt with apparently comes from this |
| 226 | * chip - check, returning the highest interrupt generated or return NO_IRQ | 226 | * chip - check, returning the highest interrupt generated or return 0. |
| 227 | */ | 227 | */ |
| 228 | unsigned int gef_pic_get_irq(void) | 228 | unsigned int gef_pic_get_irq(void) |
| 229 | { | 229 | { |
| 230 | u32 cause, mask, active; | 230 | u32 cause, mask, active; |
| 231 | unsigned int virq = NO_IRQ; | 231 | unsigned int virq = 0; |
| 232 | int hwirq; | 232 | int hwirq; |
| 233 | 233 | ||
| 234 | cause = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_STATUS); | 234 | cause = in_be32(gef_pic_irq_reg_base + GEF_PIC_INTR_STATUS); |
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c index aa2c186d3115..bafb014e1a7e 100644 --- a/arch/powerpc/sysdev/i8259.c +++ b/arch/powerpc/sysdev/i8259.c | |||
| @@ -68,9 +68,9 @@ unsigned int i8259_irq(void) | |||
| 68 | if (!pci_intack) | 68 | if (!pci_intack) |
| 69 | outb(0x0B, 0x20); /* ISR register */ | 69 | outb(0x0B, 0x20); /* ISR register */ |
| 70 | if(~inb(0x20) & 0x80) | 70 | if(~inb(0x20) & 0x80) |
| 71 | irq = NO_IRQ; | 71 | irq = 0; |
| 72 | } else if (irq == 0xff) | 72 | } else if (irq == 0xff) |
| 73 | irq = NO_IRQ; | 73 | irq = 0; |
| 74 | 74 | ||
| 75 | if (lock) | 75 | if (lock) |
| 76 | raw_spin_unlock(&i8259_lock); | 76 | raw_spin_unlock(&i8259_lock); |
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index f76ee39cb337..f267ee0afc08 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c | |||
| @@ -853,7 +853,7 @@ void ipic_clear_mcp_status(u32 mask) | |||
| 853 | ipic_write(primary_ipic->regs, IPIC_SERMR, mask); | 853 | ipic_write(primary_ipic->regs, IPIC_SERMR, mask); |
| 854 | } | 854 | } |
| 855 | 855 | ||
| 856 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ | 856 | /* Return an interrupt vector or 0 if no interrupt is pending. */ |
| 857 | unsigned int ipic_get_irq(void) | 857 | unsigned int ipic_get_irq(void) |
| 858 | { | 858 | { |
| 859 | int irq; | 859 | int irq; |
| @@ -864,7 +864,7 @@ unsigned int ipic_get_irq(void) | |||
| 864 | irq = ipic_read(primary_ipic->regs, IPIC_SIVCR) & IPIC_SIVCR_VECTOR_MASK; | 864 | irq = ipic_read(primary_ipic->regs, IPIC_SIVCR) & IPIC_SIVCR_VECTOR_MASK; |
| 865 | 865 | ||
| 866 | if (irq == 0) /* 0 --> no irq is pending */ | 866 | if (irq == 0) /* 0 --> no irq is pending */ |
| 867 | return NO_IRQ; | 867 | return 0; |
| 868 | 868 | ||
| 869 | return irq_linear_revmap(primary_ipic->irqhost, irq); | 869 | return irq_linear_revmap(primary_ipic->irqhost, irq); |
| 870 | } | 870 | } |
diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c index b7cf7abff2eb..3e828b20c21e 100644 --- a/arch/powerpc/sysdev/mpc8xx_pic.c +++ b/arch/powerpc/sysdev/mpc8xx_pic.c | |||
| @@ -79,7 +79,7 @@ unsigned int mpc8xx_get_irq(void) | |||
| 79 | irq = in_be32(&siu_reg->sc_sivec) >> 26; | 79 | irq = in_be32(&siu_reg->sc_sivec) >> 26; |
| 80 | 80 | ||
| 81 | if (irq == PIC_VEC_SPURRIOUS) | 81 | if (irq == PIC_VEC_SPURRIOUS) |
| 82 | irq = NO_IRQ; | 82 | irq = 0; |
| 83 | 83 | ||
| 84 | return irq_linear_revmap(mpc8xx_pic_host, irq); | 84 | return irq_linear_revmap(mpc8xx_pic_host, irq); |
| 85 | 85 | ||
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 7de45b2df366..4d48cecfedd1 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
| @@ -1649,7 +1649,7 @@ void __init mpic_init(struct mpic *mpic) | |||
| 1649 | /* Check if this MPIC is chained from a parent interrupt controller */ | 1649 | /* Check if this MPIC is chained from a parent interrupt controller */ |
| 1650 | if (mpic->flags & MPIC_SECONDARY) { | 1650 | if (mpic->flags & MPIC_SECONDARY) { |
| 1651 | int virq = irq_of_parse_and_map(mpic->node, 0); | 1651 | int virq = irq_of_parse_and_map(mpic->node, 0); |
| 1652 | if (virq != NO_IRQ) { | 1652 | if (virq) { |
| 1653 | printk(KERN_INFO "%s: hooking up to IRQ %d\n", | 1653 | printk(KERN_INFO "%s: hooking up to IRQ %d\n", |
| 1654 | mpic->node->full_name, virq); | 1654 | mpic->node->full_name, virq); |
| 1655 | irq_set_handler_data(virq, mpic); | 1655 | irq_set_handler_data(virq, mpic); |
| @@ -1778,13 +1778,13 @@ static unsigned int _mpic_get_one_irq(struct mpic *mpic, int reg) | |||
| 1778 | if (unlikely(src == mpic->spurious_vec)) { | 1778 | if (unlikely(src == mpic->spurious_vec)) { |
| 1779 | if (mpic->flags & MPIC_SPV_EOI) | 1779 | if (mpic->flags & MPIC_SPV_EOI) |
| 1780 | mpic_eoi(mpic); | 1780 | mpic_eoi(mpic); |
| 1781 | return NO_IRQ; | 1781 | return 0; |
| 1782 | } | 1782 | } |
| 1783 | if (unlikely(mpic->protected && test_bit(src, mpic->protected))) { | 1783 | if (unlikely(mpic->protected && test_bit(src, mpic->protected))) { |
| 1784 | printk_ratelimited(KERN_WARNING "%s: Got protected source %d !\n", | 1784 | printk_ratelimited(KERN_WARNING "%s: Got protected source %d !\n", |
| 1785 | mpic->name, (int)src); | 1785 | mpic->name, (int)src); |
| 1786 | mpic_eoi(mpic); | 1786 | mpic_eoi(mpic); |
| 1787 | return NO_IRQ; | 1787 | return 0; |
| 1788 | } | 1788 | } |
| 1789 | 1789 | ||
| 1790 | return irq_linear_revmap(mpic->irqhost, src); | 1790 | return irq_linear_revmap(mpic->irqhost, src); |
| @@ -1817,17 +1817,17 @@ unsigned int mpic_get_coreint_irq(void) | |||
| 1817 | if (unlikely(src == mpic->spurious_vec)) { | 1817 | if (unlikely(src == mpic->spurious_vec)) { |
| 1818 | if (mpic->flags & MPIC_SPV_EOI) | 1818 | if (mpic->flags & MPIC_SPV_EOI) |
| 1819 | mpic_eoi(mpic); | 1819 | mpic_eoi(mpic); |
| 1820 | return NO_IRQ; | 1820 | return 0; |
| 1821 | } | 1821 | } |
| 1822 | if (unlikely(mpic->protected && test_bit(src, mpic->protected))) { | 1822 | if (unlikely(mpic->protected && test_bit(src, mpic->protected))) { |
| 1823 | printk_ratelimited(KERN_WARNING "%s: Got protected source %d !\n", | 1823 | printk_ratelimited(KERN_WARNING "%s: Got protected source %d !\n", |
| 1824 | mpic->name, (int)src); | 1824 | mpic->name, (int)src); |
| 1825 | return NO_IRQ; | 1825 | return 0; |
| 1826 | } | 1826 | } |
| 1827 | 1827 | ||
| 1828 | return irq_linear_revmap(mpic->irqhost, src); | 1828 | return irq_linear_revmap(mpic->irqhost, src); |
| 1829 | #else | 1829 | #else |
| 1830 | return NO_IRQ; | 1830 | return 0; |
| 1831 | #endif | 1831 | #endif |
| 1832 | } | 1832 | } |
| 1833 | 1833 | ||
| @@ -1852,7 +1852,7 @@ void mpic_request_ipis(void) | |||
| 1852 | for (i = 0; i < 4; i++) { | 1852 | for (i = 0; i < 4; i++) { |
| 1853 | unsigned int vipi = irq_create_mapping(mpic->irqhost, | 1853 | unsigned int vipi = irq_create_mapping(mpic->irqhost, |
| 1854 | mpic->ipi_vecs[0] + i); | 1854 | mpic->ipi_vecs[0] + i); |
| 1855 | if (vipi == NO_IRQ) { | 1855 | if (!vipi) { |
| 1856 | printk(KERN_ERR "Failed to map %s\n", smp_ipi_name[i]); | 1856 | printk(KERN_ERR "Failed to map %s\n", smp_ipi_name[i]); |
| 1857 | continue; | 1857 | continue; |
| 1858 | } | 1858 | } |
diff --git a/arch/powerpc/sysdev/mpic_msgr.c b/arch/powerpc/sysdev/mpic_msgr.c index 3f165d972a0e..db2286be5d9a 100644 --- a/arch/powerpc/sysdev/mpic_msgr.c +++ b/arch/powerpc/sysdev/mpic_msgr.c | |||
| @@ -238,7 +238,7 @@ static int mpic_msgr_probe(struct platform_device *dev) | |||
| 238 | 238 | ||
| 239 | if (receive_mask & (1 << i)) { | 239 | if (receive_mask & (1 << i)) { |
| 240 | msgr->irq = irq_of_parse_and_map(np, irq_index); | 240 | msgr->irq = irq_of_parse_and_map(np, irq_index); |
| 241 | if (msgr->irq == NO_IRQ) { | 241 | if (!msgr->irq) { |
| 242 | dev_err(&dev->dev, | 242 | dev_err(&dev->dev, |
| 243 | "Missing interrupt specifier"); | 243 | "Missing interrupt specifier"); |
| 244 | kfree(msgr); | 244 | kfree(msgr); |
| @@ -246,7 +246,7 @@ static int mpic_msgr_probe(struct platform_device *dev) | |||
| 246 | } | 246 | } |
| 247 | irq_index += 1; | 247 | irq_index += 1; |
| 248 | } else { | 248 | } else { |
| 249 | msgr->irq = NO_IRQ; | 249 | msgr->irq = 0; |
| 250 | } | 250 | } |
| 251 | 251 | ||
| 252 | mpic_msgrs[reg_number] = msgr; | 252 | mpic_msgrs[reg_number] = msgr; |
diff --git a/arch/powerpc/sysdev/mpic_u3msi.c b/arch/powerpc/sysdev/mpic_u3msi.c index 2cbc7e29b85f..cfc1c57d760f 100644 --- a/arch/powerpc/sysdev/mpic_u3msi.c +++ b/arch/powerpc/sysdev/mpic_u3msi.c | |||
| @@ -110,7 +110,7 @@ static void u3msi_teardown_msi_irqs(struct pci_dev *pdev) | |||
| 110 | irq_hw_number_t hwirq; | 110 | irq_hw_number_t hwirq; |
| 111 | 111 | ||
| 112 | for_each_pci_msi_entry(entry, pdev) { | 112 | for_each_pci_msi_entry(entry, pdev) { |
| 113 | if (entry->irq == NO_IRQ) | 113 | if (!entry->irq) |
| 114 | continue; | 114 | continue; |
| 115 | 115 | ||
| 116 | hwirq = virq_to_hw(entry->irq); | 116 | hwirq = virq_to_hw(entry->irq); |
| @@ -155,7 +155,7 @@ static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) | |||
| 155 | msg.address_hi = addr >> 32; | 155 | msg.address_hi = addr >> 32; |
| 156 | 156 | ||
| 157 | virq = irq_create_mapping(msi_mpic->irqhost, hwirq); | 157 | virq = irq_create_mapping(msi_mpic->irqhost, hwirq); |
| 158 | if (virq == NO_IRQ) { | 158 | if (!virq) { |
| 159 | pr_debug("u3msi: failed mapping hwirq 0x%x\n", hwirq); | 159 | pr_debug("u3msi: failed mapping hwirq 0x%x\n", hwirq); |
| 160 | msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); | 160 | msi_bitmap_free_hwirqs(&msi_mpic->msi_bitmap, hwirq, 1); |
| 161 | return -ENOSPC; | 161 | return -ENOSPC; |
diff --git a/arch/powerpc/sysdev/mv64x60_pic.c b/arch/powerpc/sysdev/mv64x60_pic.c index 0f842dd16bcd..a79953deb489 100644 --- a/arch/powerpc/sysdev/mv64x60_pic.c +++ b/arch/powerpc/sysdev/mv64x60_pic.c | |||
| @@ -272,7 +272,7 @@ unsigned int mv64x60_get_irq(void) | |||
| 272 | u32 cause; | 272 | u32 cause; |
| 273 | int level1; | 273 | int level1; |
| 274 | irq_hw_number_t hwirq; | 274 | irq_hw_number_t hwirq; |
| 275 | int virq = NO_IRQ; | 275 | int virq = 0; |
| 276 | 276 | ||
| 277 | cause = in_le32(mv64x60_irq_reg_base + MV64X60_IC_CPU0_SELECT_CAUSE); | 277 | cause = in_le32(mv64x60_irq_reg_base + MV64X60_IC_CPU0_SELECT_CAUSE); |
| 278 | if (cause & MV64X60_SELECT_CAUSE_HIGH) { | 278 | if (cause & MV64X60_SELECT_CAUSE_HIGH) { |
diff --git a/arch/powerpc/sysdev/pmi.c b/arch/powerpc/sysdev/pmi.c index 8a0b77a3ec0c..9ea6a221d9d5 100644 --- a/arch/powerpc/sysdev/pmi.c +++ b/arch/powerpc/sysdev/pmi.c | |||
| @@ -158,7 +158,7 @@ static int pmi_of_probe(struct platform_device *dev) | |||
| 158 | data->dev = dev; | 158 | data->dev = dev; |
| 159 | 159 | ||
| 160 | data->irq = irq_of_parse_and_map(np, 0); | 160 | data->irq = irq_of_parse_and_map(np, 0); |
| 161 | if (data->irq == NO_IRQ) { | 161 | if (!data->irq) { |
| 162 | printk(KERN_ERR "pmi: invalid interrupt.\n"); | 162 | printk(KERN_ERR "pmi: invalid interrupt.\n"); |
| 163 | rc = -EFAULT; | 163 | rc = -EFAULT; |
| 164 | goto error_cleanup_iomap; | 164 | goto error_cleanup_iomap; |
diff --git a/arch/powerpc/sysdev/ppc4xx_hsta_msi.c b/arch/powerpc/sysdev/ppc4xx_hsta_msi.c index 52a93dcae262..9926ad67af76 100644 --- a/arch/powerpc/sysdev/ppc4xx_hsta_msi.c +++ b/arch/powerpc/sysdev/ppc4xx_hsta_msi.c | |||
| @@ -60,7 +60,7 @@ static int hsta_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | |||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | hwirq = ppc4xx_hsta_msi.irq_map[irq]; | 62 | hwirq = ppc4xx_hsta_msi.irq_map[irq]; |
| 63 | if (hwirq == NO_IRQ) { | 63 | if (!hwirq) { |
| 64 | pr_err("%s: Failed mapping irq %d\n", __func__, irq); | 64 | pr_err("%s: Failed mapping irq %d\n", __func__, irq); |
| 65 | return -EINVAL; | 65 | return -EINVAL; |
| 66 | } | 66 | } |
| @@ -110,7 +110,7 @@ static void hsta_teardown_msi_irqs(struct pci_dev *dev) | |||
| 110 | int irq; | 110 | int irq; |
| 111 | 111 | ||
| 112 | for_each_pci_msi_entry(entry, dev) { | 112 | for_each_pci_msi_entry(entry, dev) { |
| 113 | if (entry->irq == NO_IRQ) | 113 | if (!entry->irq) |
| 114 | continue; | 114 | continue; |
| 115 | 115 | ||
| 116 | irq = hsta_find_hwirq_offset(entry->irq); | 116 | irq = hsta_find_hwirq_offset(entry->irq); |
| @@ -166,7 +166,7 @@ static int hsta_msi_probe(struct platform_device *pdev) | |||
| 166 | for (irq = 0; irq < irq_count; irq++) { | 166 | for (irq = 0; irq < irq_count; irq++) { |
| 167 | ppc4xx_hsta_msi.irq_map[irq] = | 167 | ppc4xx_hsta_msi.irq_map[irq] = |
| 168 | irq_of_parse_and_map(dev->of_node, irq); | 168 | irq_of_parse_and_map(dev->of_node, irq); |
| 169 | if (ppc4xx_hsta_msi.irq_map[irq] == NO_IRQ) { | 169 | if (!ppc4xx_hsta_msi.irq_map[irq]) { |
| 170 | dev_err(dev, "Unable to map IRQ\n"); | 170 | dev_err(dev, "Unable to map IRQ\n"); |
| 171 | ret = -EINVAL; | 171 | ret = -EINVAL; |
| 172 | goto out2; | 172 | goto out2; |
diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4xx_msi.c index 8fb806135043..590dab4f47d6 100644 --- a/arch/powerpc/sysdev/ppc4xx_msi.c +++ b/arch/powerpc/sysdev/ppc4xx_msi.c | |||
| @@ -102,7 +102,7 @@ static int ppc4xx_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | |||
| 102 | __func__); | 102 | __func__); |
| 103 | } | 103 | } |
| 104 | virq = irq_of_parse_and_map(msi_data->msi_dev, int_no); | 104 | virq = irq_of_parse_and_map(msi_data->msi_dev, int_no); |
| 105 | if (virq == NO_IRQ) { | 105 | if (!virq) { |
| 106 | dev_err(&dev->dev, "%s: fail mapping irq\n", __func__); | 106 | dev_err(&dev->dev, "%s: fail mapping irq\n", __func__); |
| 107 | msi_bitmap_free_hwirqs(&msi_data->bitmap, int_no, 1); | 107 | msi_bitmap_free_hwirqs(&msi_data->bitmap, int_no, 1); |
| 108 | return -ENOSPC; | 108 | return -ENOSPC; |
| @@ -129,7 +129,7 @@ void ppc4xx_teardown_msi_irqs(struct pci_dev *dev) | |||
| 129 | dev_dbg(&dev->dev, "PCIE-MSI: tearing down msi irqs\n"); | 129 | dev_dbg(&dev->dev, "PCIE-MSI: tearing down msi irqs\n"); |
| 130 | 130 | ||
| 131 | for_each_pci_msi_entry(entry, dev) { | 131 | for_each_pci_msi_entry(entry, dev) { |
| 132 | if (entry->irq == NO_IRQ) | 132 | if (!entry->irq) |
| 133 | continue; | 133 | continue; |
| 134 | hwirq = virq_to_hw(entry->irq); | 134 | hwirq = virq_to_hw(entry->irq); |
| 135 | irq_set_msi_desc(entry->irq, NULL); | 135 | irq_set_msi_desc(entry->irq, NULL); |
| @@ -201,7 +201,7 @@ static int ppc4xx_of_msi_remove(struct platform_device *dev) | |||
| 201 | 201 | ||
| 202 | for (i = 0; i < msi_irqs; i++) { | 202 | for (i = 0; i < msi_irqs; i++) { |
| 203 | virq = msi->msi_virqs[i]; | 203 | virq = msi->msi_virqs[i]; |
| 204 | if (virq != NO_IRQ) | 204 | if (virq) |
| 205 | irq_dispose_mapping(virq); | 205 | irq_dispose_mapping(virq); |
| 206 | } | 206 | } |
| 207 | 207 | ||
diff --git a/arch/powerpc/sysdev/ppc4xx_soc.c b/arch/powerpc/sysdev/ppc4xx_soc.c index 5c77c9ba33aa..d41134d2f786 100644 --- a/arch/powerpc/sysdev/ppc4xx_soc.c +++ b/arch/powerpc/sysdev/ppc4xx_soc.c | |||
| @@ -109,7 +109,7 @@ static int __init ppc4xx_l2c_probe(void) | |||
| 109 | 109 | ||
| 110 | /* Get and map irq number from device tree */ | 110 | /* Get and map irq number from device tree */ |
| 111 | irq = irq_of_parse_and_map(np, 0); | 111 | irq = irq_of_parse_and_map(np, 0); |
| 112 | if (irq == NO_IRQ) { | 112 | if (!irq) { |
| 113 | printk(KERN_ERR "irq_of_parse_and_map failed\n"); | 113 | printk(KERN_ERR "irq_of_parse_and_map failed\n"); |
| 114 | of_node_put(np); | 114 | of_node_put(np); |
| 115 | return -ENODEV; | 115 | return -ENODEV; |
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c index 379de955aae3..57c971b7839c 100644 --- a/arch/powerpc/sysdev/tsi108_pci.c +++ b/arch/powerpc/sysdev/tsi108_pci.c | |||
| @@ -433,7 +433,7 @@ void tsi108_irq_cascade(struct irq_desc *desc) | |||
| 433 | struct irq_chip *chip = irq_desc_get_chip(desc); | 433 | struct irq_chip *chip = irq_desc_get_chip(desc); |
| 434 | unsigned int cascade_irq = get_pci_source(); | 434 | unsigned int cascade_irq = get_pci_source(); |
| 435 | 435 | ||
| 436 | if (cascade_irq != NO_IRQ) | 436 | if (cascade_irq) |
| 437 | generic_handle_irq(cascade_irq); | 437 | generic_handle_irq(cascade_irq); |
| 438 | 438 | ||
| 439 | chip->irq_eoi(&desc->irq_data); | 439 | chip->irq_eoi(&desc->irq_data); |
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index 6893d8f236df..a00949f3e378 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c | |||
| @@ -319,7 +319,7 @@ void __init uic_init_tree(void) | |||
| 319 | } | 319 | } |
| 320 | } | 320 | } |
| 321 | 321 | ||
| 322 | /* Return an interrupt vector or NO_IRQ if no interrupt is pending. */ | 322 | /* Return an interrupt vector or 0 if no interrupt is pending. */ |
| 323 | unsigned int uic_get_irq(void) | 323 | unsigned int uic_get_irq(void) |
| 324 | { | 324 | { |
| 325 | u32 msr; | 325 | u32 msr; |
diff --git a/arch/powerpc/sysdev/xics/icp-hv.c b/arch/powerpc/sysdev/xics/icp-hv.c index c1917cf67c3d..e7fa26c4ff73 100644 --- a/arch/powerpc/sysdev/xics/icp-hv.c +++ b/arch/powerpc/sysdev/xics/icp-hv.c | |||
| @@ -112,10 +112,10 @@ static unsigned int icp_hv_get_irq(void) | |||
| 112 | unsigned int irq; | 112 | unsigned int irq; |
| 113 | 113 | ||
| 114 | if (vec == XICS_IRQ_SPURIOUS) | 114 | if (vec == XICS_IRQ_SPURIOUS) |
| 115 | return NO_IRQ; | 115 | return 0; |
| 116 | 116 | ||
| 117 | irq = irq_find_mapping(xics_host, vec); | 117 | irq = irq_find_mapping(xics_host, vec); |
| 118 | if (likely(irq != NO_IRQ)) { | 118 | if (likely(irq)) { |
| 119 | xics_push_cppr(vec); | 119 | xics_push_cppr(vec); |
| 120 | return irq; | 120 | return irq; |
| 121 | } | 121 | } |
| @@ -126,7 +126,7 @@ static unsigned int icp_hv_get_irq(void) | |||
| 126 | /* We might learn about it later, so EOI it */ | 126 | /* We might learn about it later, so EOI it */ |
| 127 | icp_hv_set_xirr(xirr); | 127 | icp_hv_set_xirr(xirr); |
| 128 | 128 | ||
| 129 | return NO_IRQ; | 129 | return 0; |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | static void icp_hv_set_cpu_priority(unsigned char cppr) | 132 | static void icp_hv_set_cpu_priority(unsigned char cppr) |
diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/xics/icp-native.c index afdf62f2a695..8a6a043e239b 100644 --- a/arch/powerpc/sysdev/xics/icp-native.c +++ b/arch/powerpc/sysdev/xics/icp-native.c | |||
| @@ -124,10 +124,10 @@ static unsigned int icp_native_get_irq(void) | |||
| 124 | unsigned int irq; | 124 | unsigned int irq; |
| 125 | 125 | ||
| 126 | if (vec == XICS_IRQ_SPURIOUS) | 126 | if (vec == XICS_IRQ_SPURIOUS) |
| 127 | return NO_IRQ; | 127 | return 0; |
| 128 | 128 | ||
| 129 | irq = irq_find_mapping(xics_host, vec); | 129 | irq = irq_find_mapping(xics_host, vec); |
| 130 | if (likely(irq != NO_IRQ)) { | 130 | if (likely(irq)) { |
| 131 | xics_push_cppr(vec); | 131 | xics_push_cppr(vec); |
| 132 | return irq; | 132 | return irq; |
| 133 | } | 133 | } |
| @@ -138,7 +138,7 @@ static unsigned int icp_native_get_irq(void) | |||
| 138 | /* We might learn about it later, so EOI it */ | 138 | /* We might learn about it later, so EOI it */ |
| 139 | icp_native_set_xirr(xirr); | 139 | icp_native_set_xirr(xirr); |
| 140 | 140 | ||
| 141 | return NO_IRQ; | 141 | return 0; |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | #ifdef CONFIG_SMP | 144 | #ifdef CONFIG_SMP |
diff --git a/arch/powerpc/sysdev/xics/icp-opal.c b/arch/powerpc/sysdev/xics/icp-opal.c index 57d72f10a97f..7357cfddb040 100644 --- a/arch/powerpc/sysdev/xics/icp-opal.c +++ b/arch/powerpc/sysdev/xics/icp-opal.c | |||
| @@ -51,14 +51,14 @@ static unsigned int icp_opal_get_irq(void) | |||
| 51 | 51 | ||
| 52 | rc = opal_int_get_xirr(&xirr, false); | 52 | rc = opal_int_get_xirr(&xirr, false); |
| 53 | if (rc < 0) | 53 | if (rc < 0) |
| 54 | return NO_IRQ; | 54 | return 0; |
| 55 | xirr = be32_to_cpu(xirr); | 55 | xirr = be32_to_cpu(xirr); |
| 56 | vec = xirr & 0x00ffffff; | 56 | vec = xirr & 0x00ffffff; |
| 57 | if (vec == XICS_IRQ_SPURIOUS) | 57 | if (vec == XICS_IRQ_SPURIOUS) |
| 58 | return NO_IRQ; | 58 | return 0; |
| 59 | 59 | ||
| 60 | irq = irq_find_mapping(xics_host, vec); | 60 | irq = irq_find_mapping(xics_host, vec); |
| 61 | if (likely(irq != NO_IRQ)) { | 61 | if (likely(irq)) { |
| 62 | xics_push_cppr(vec); | 62 | xics_push_cppr(vec); |
| 63 | return irq; | 63 | return irq; |
| 64 | } | 64 | } |
| @@ -69,7 +69,7 @@ static unsigned int icp_opal_get_irq(void) | |||
| 69 | /* We might learn about it later, so EOI it */ | 69 | /* We might learn about it later, so EOI it */ |
| 70 | opal_int_eoi(xirr); | 70 | opal_int_eoi(xirr); |
| 71 | 71 | ||
| 72 | return NO_IRQ; | 72 | return 0; |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | static void icp_opal_set_cpu_priority(unsigned char cppr) | 75 | static void icp_opal_set_cpu_priority(unsigned char cppr) |
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c index 9d530f479588..69d858e51ac7 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c | |||
| @@ -131,7 +131,7 @@ static void xics_request_ipi(void) | |||
| 131 | unsigned int ipi; | 131 | unsigned int ipi; |
| 132 | 132 | ||
| 133 | ipi = irq_create_mapping(xics_host, XICS_IPI); | 133 | ipi = irq_create_mapping(xics_host, XICS_IPI); |
| 134 | BUG_ON(ipi == NO_IRQ); | 134 | BUG_ON(!ipi); |
| 135 | 135 | ||
| 136 | /* | 136 | /* |
| 137 | * IPIs are marked IRQF_PERCPU. The handler was set in map. | 137 | * IPIs are marked IRQF_PERCPU. The handler was set in map. |
