diff options
| author | David S. Miller <davem@davemloft.net> | 2015-08-27 21:45:31 -0700 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2015-08-27 21:45:31 -0700 |
| commit | 0d36938bb82a7775c21ce0a7429f08ba13d025b6 (patch) | |
| tree | f502caf5555591ee237e14e5fa96b2c005a85036 /kernel/irq/chip.c | |
| parent | 55f14da66954083b621debbdbf62c7fc429291e8 (diff) | |
| parent | 4941b8f0c2b9d88e8a6dacebf8b7faf603b98368 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'kernel/irq/chip.c')
| -rw-r--r-- | kernel/irq/chip.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 27f4332c7f84..ae216824e8ca 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -985,6 +985,23 @@ int irq_chip_set_affinity_parent(struct irq_data *data, } /** + * irq_chip_set_type_parent - Set IRQ type on the parent interrupt + * @data: Pointer to interrupt specific data + * @type: IRQ_TYPE_{LEVEL,EDGE}_* value - see include/linux/irq.h + * + * Conditional, as the underlying parent chip might not implement it. + */ +int irq_chip_set_type_parent(struct irq_data *data, unsigned int type) +{ + data = data->parent_data; + + if (data->chip->irq_set_type) + return data->chip->irq_set_type(data, type); + + return -ENOSYS; +} + +/** * irq_chip_retrigger_hierarchy - Retrigger an interrupt in hardware * @data: Pointer to interrupt specific data * @@ -997,7 +1014,7 @@ int irq_chip_retrigger_hierarchy(struct irq_data *data) if (data->chip && data->chip->irq_retrigger) return data->chip->irq_retrigger(data); - return -ENOSYS; + return 0; } /** |
