Skip to content

regmap IRQ support for devices with multiple IRQs

Matti Vaittinen lkml 2 versions – Applied

Status from this message: The following commit has been merged into the irq/core branch of tip:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest3 patches 10 repliesApplied
  2. v12 patches 10 repliesSuperseded

Changes in v2 from the cover letter

- Fixes as suggested by Thomas Gleixner. Mainly fixes to legacy and simple domain.
- Added new patch, patch 1.

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/3irqdomain: simplify simple and legacy domain creationinclude/linux/irqdomain.h kernel/irq/irqdomain.c+45 -335 replies
2/3irqdomain: Allow giving name suffix for domaininclude/linux/irqdomain.h kernel/irq/irqdomain.c+30 -95 replies
3/3regmap: Allow setting IRQ domain name suffixdrivers/base/regmap/regmap-irq.c include/linux/regmap.h+30 -113 replies

Reviews trailers per patch

1 of 3 patches has a Reviewed-by or Acked-by.

PatchMatti Vaittinen
1/3
2/3R-b
3/3

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/3] regmap IRQ support for devices with multiple IRQs

Devices can provide multiple interrupt lines. One reason for this is that a device has multiple subfunctions, each providing its own interrupt line. Another reason is that a device can be designed to be used (also) on a system where some of the interrupts can be routed to another processor.

A line often further acts as a demultiplex for specific interrupts and has it's respective set of interrupt (status, mask, ack, ...) registers.

Regmap supports the handling of these registers and demultiplexing interrupts, but interrupt domain code ends up assigning the same name for the per interrupt line domains

This series adds possibility for giving a name suffix for an interrupt domain when regmap is used for devices with multiple interrupt lines.

Series is created on top of the:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core

which contains the changes by Herve Codina adding both the struct irq_domain_info and the irq_domain_instantiate().

Previous discussion can be found from:
https://lore.kernel.org/all/87plst28yk.ffs@tglx/
https://lore.kernel.org/all/[email protected]/

The domain suffix support added in this series will be used by the ROHM BD96801 ERRB IRQ support code. The BD96801 ERRB support will need the initial BD96801 driver code, which is not yet in irq/core or regmap trees. Thus the user for this new support is not included in the series, but will be sent once the name suffix support gets merged.

Revision history:
v1 => v2:
- Fixes as suggested by Thomas Gleixner. Mainly fixes to legacy and simple domain.
- Added new patch, patch 1.

---

Matti Vaittinen (3):
irqdomain: simplify simple and legacy domain creation
irqdomain: Allow giving name suffix for domain
regmap: Allow setting IRQ domain name suffix

 drivers/base/regmap/regmap-irq.c |  37 +++++++----
 include/linux/irqdomain.h        |   8 +++
 include/linux/regmap.h           |   4 ++
 kernel/irq/irqdomain.c           | 109 +++++++++++++++++++------------
 4 files changed, 105 insertions(+), 53 deletions(-)

base-commit: bb4531976523c6e394188c4f4a7eeaf5e9efdd48

Signature · 14 lines
2.45.2


-- 
Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
Simon says - in Latin please.
~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
Thanks to Simon Glass for the translation =]