irqchip updates for Linux 5.5
- Qualcomm PDC wakeup interrupt support - Layerscape external IRQ support - Broadcom bcm7038 PM and wakeup support - Ingenic driver cleanup and modernization - GICv3 ITS preparation for GICv4.1 updates - GICv4 fixes - Various cleanups -----BEGIN PGP SIGNATURE----- iQJDBAABCgAtFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAl3VJasPHG1hekBrZXJu ZWwub3JnAAoJECPQ0LrRPXpDMLEP/2U55GLmPuNqW/na4YFmcOYAkoP0WpEKDzn9 u8lBi8CukKl1Z2JLAyP0E1e5iOVS0exvQ5V4OwxGKmeR9oWmB3Lym8UWRw7vcKEF HMKgtPCd3U3J5jW0P4Hr8hn6Q+B55fdMrrAaJcgsfBVB7bRB0lC0LZYGtN4VC4d8 rTQzup5CK8Mu9k4NztLCxxoBUKFoqM+ZKsrRB2eOXB9amcPQtFvwC+5ZL2tDr3wS 7d+pd6G4A+hsloIDUxoH9BrO/jd1jlfHyBRDFJIgpo/IQWVT6ciQECZomRR1pW30 bGFYBf/HPFqfyH+ZOrWprSAd0Yx33WtYaMokYaJ6vGu4wedyxh/1LTRLzL0tWuyZ tPFvEmiiP/Hoeq1JHFRFQUO/75ckqALLeAxCjACCN8+F2Z0armk1W/iwehZNQHHV JdDXegRNUlMipG2kk5D3L6AK28bi+3+axc1ERMN1RO40eLm8NLogWL2TJlxLbyUe lMZMe43ceC0McGnQpAY8qyuC7IycQtngKNBvzG+6ADucGpFez3gYxh39RR43XMVo 37Hsj+Ur7CFBJj6WTCzV2teC/WaXXQkJYxn6fsHNmUgdwPgGD3LppxhlWG49Ao9w x8ZnfyrrYmcFOJrKbT45ExMihioaGf8dyksKZNA/Z4dI0g/kf0LyYi5ujZaDDilI eDkMI/xI =uENR -----END PGP SIGNATURE----- Merge tag 'irqchip-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core Pull irqchip updates from Marc Zyngier: - Qualcomm PDC wakeup interrupt support - Layerscape external IRQ support - Broadcom bcm7038 PM and wakeup support - Ingenic driver cleanup and modernization - GICv3 ITS preparation for GICv4.1 updates - GICv4 fixes - Various cleanups
This commit is contained in:
commit
407e62f52a
24 changed files with 1041 additions and 160 deletions
|
|
@ -1297,6 +1297,50 @@ EXPORT_SYMBOL_GPL(handle_fasteoi_mask_irq);
|
|||
|
||||
#endif /* CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS */
|
||||
|
||||
/**
|
||||
* irq_chip_set_parent_state - set the state of a parent interrupt.
|
||||
*
|
||||
* @data: Pointer to interrupt specific data
|
||||
* @which: State to be restored (one of IRQCHIP_STATE_*)
|
||||
* @val: Value corresponding to @which
|
||||
*
|
||||
* Conditional success, if the underlying irqchip does not implement it.
|
||||
*/
|
||||
int irq_chip_set_parent_state(struct irq_data *data,
|
||||
enum irqchip_irq_state which,
|
||||
bool val)
|
||||
{
|
||||
data = data->parent_data;
|
||||
|
||||
if (!data || !data->chip->irq_set_irqchip_state)
|
||||
return 0;
|
||||
|
||||
return data->chip->irq_set_irqchip_state(data, which, val);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(irq_chip_set_parent_state);
|
||||
|
||||
/**
|
||||
* irq_chip_get_parent_state - get the state of a parent interrupt.
|
||||
*
|
||||
* @data: Pointer to interrupt specific data
|
||||
* @which: one of IRQCHIP_STATE_* the caller wants to know
|
||||
* @state: a pointer to a boolean where the state is to be stored
|
||||
*
|
||||
* Conditional success, if the underlying irqchip does not implement it.
|
||||
*/
|
||||
int irq_chip_get_parent_state(struct irq_data *data,
|
||||
enum irqchip_irq_state which,
|
||||
bool *state)
|
||||
{
|
||||
data = data->parent_data;
|
||||
|
||||
if (!data || !data->chip->irq_get_irqchip_state)
|
||||
return 0;
|
||||
|
||||
return data->chip->irq_get_irqchip_state(data, which, state);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(irq_chip_get_parent_state);
|
||||
|
||||
/**
|
||||
* irq_chip_enable_parent - Enable the parent interrupt (defaults to unmask if
|
||||
* NULL)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue