diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/irq/irqdomain.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 706724e9835d..cf68bb36fe58 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c | |||
| @@ -465,27 +465,26 @@ int irq_create_strict_mappings(struct irq_domain *domain, unsigned int irq_base, | |||
| 465 | } | 465 | } |
| 466 | EXPORT_SYMBOL_GPL(irq_create_strict_mappings); | 466 | EXPORT_SYMBOL_GPL(irq_create_strict_mappings); |
| 467 | 467 | ||
| 468 | unsigned int irq_create_of_mapping(struct device_node *controller, | 468 | unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data) |
| 469 | const u32 *intspec, unsigned int intsize) | ||
| 470 | { | 469 | { |
| 471 | struct irq_domain *domain; | 470 | struct irq_domain *domain; |
| 472 | irq_hw_number_t hwirq; | 471 | irq_hw_number_t hwirq; |
| 473 | unsigned int type = IRQ_TYPE_NONE; | 472 | unsigned int type = IRQ_TYPE_NONE; |
| 474 | unsigned int virq; | 473 | unsigned int virq; |
| 475 | 474 | ||
| 476 | domain = controller ? irq_find_host(controller) : irq_default_domain; | 475 | domain = irq_data->np ? irq_find_host(irq_data->np) : irq_default_domain; |
| 477 | if (!domain) { | 476 | if (!domain) { |
| 478 | pr_warn("no irq domain found for %s !\n", | 477 | pr_warn("no irq domain found for %s !\n", |
| 479 | of_node_full_name(controller)); | 478 | of_node_full_name(irq_data->np)); |
| 480 | return 0; | 479 | return 0; |
| 481 | } | 480 | } |
| 482 | 481 | ||
| 483 | /* If domain has no translation, then we assume interrupt line */ | 482 | /* If domain has no translation, then we assume interrupt line */ |
| 484 | if (domain->ops->xlate == NULL) | 483 | if (domain->ops->xlate == NULL) |
| 485 | hwirq = intspec[0]; | 484 | hwirq = irq_data->args[0]; |
| 486 | else { | 485 | else { |
| 487 | if (domain->ops->xlate(domain, controller, intspec, intsize, | 486 | if (domain->ops->xlate(domain, irq_data->np, irq_data->args, |
| 488 | &hwirq, &type)) | 487 | irq_data->args_count, &hwirq, &type)) |
| 489 | return 0; | 488 | return 0; |
| 490 | } | 489 | } |
| 491 | 490 | ||
