summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2025-05-28 01:44:26 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2025-05-28 01:44:26 +0300
commitc971f11dbf1bff3d1226b92015302326c7c292c3 (patch)
tree39247b89e8d288ca5137d3164697a229ad86176c /include/linux
parentaacc73ceeb8bf664426f0e53db2778a59325bd9f (diff)
parent1c12fbdf40e17df2efc24bf2009a0c3bfa75bfa7 (diff)
downloadlinux-c971f11dbf1bff3d1226b92015302326c7c292c3.tar.xz
Merge tag 'regmap-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Pull regmap updates from Mark Brown: "This release we have one new feature, support for chips that report edge interrupts but don't provide distinct readback of that status per line, plus a few cleanups" * tag 'regmap-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: irq: Add support for chips without separate IRQ status regmap-irq: Use dedicated interrupt wake setters regmap: Move selecting for REGMAP_MDIO and REGMAP_IRQ regcache: Use sort()'s default swap() implementation
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/regmap.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index d17c5ea3d55d..02b83f5499b8 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -1641,6 +1641,8 @@ struct regmap_irq_chip_data;
* @ack_invert: Inverted ack register: cleared bits for ack.
* @clear_ack: Use this to set 1 and 0 or vice-versa to clear interrupts.
* @status_invert: Inverted status register: cleared bits are active interrupts.
+ * @status_is_level: Status register is actuall signal level: Xor status
+ * register with previous value to get active interrupts.
* @wake_invert: Inverted wake register: cleared bits are wake enabled.
* @type_in_mask: Use the mask registers for controlling irq type. Use this if
* the hardware provides separate bits for rising/falling edge
@@ -1704,6 +1706,7 @@ struct regmap_irq_chip {
unsigned int ack_invert:1;
unsigned int clear_ack:1;
unsigned int status_invert:1;
+ unsigned int status_is_level:1;
unsigned int wake_invert:1;
unsigned int type_in_mask:1;
unsigned int clear_on_unmask:1;