regmap-irq: Deprecate the not_fixed_stride flag
authorAidan MacDonald <aidanmacdonald.0x0@gmail.com>
Thu, 23 Jun 2022 21:14:20 +0000 (22:14 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 29 Jun 2022 17:13:17 +0000 (18:13 +0100)
This flag is a bit of a hack and the same thing can be accomplished
using a custom ->get_irq_reg() callback. Add a warning to catch any
use of the flag.

Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Link: https://lore.kernel.org/r/20220623211420.918875-13-aidanmacdonald.0x0@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap-irq.c
include/linux/regmap.h

index 71de097..a691553 100644 (file)
@@ -739,6 +739,8 @@ int regmap_add_irq_chip_fwnode(struct fwnode_handle *fwnode,
        }
 
        if (chip->not_fixed_stride) {
+               dev_warn(map->dev, "not_fixed_stride is deprecated; use ->get_irq_reg() instead");
+
                for (i = 0; i < chip->num_regs; i++)
                        if (chip->sub_reg_offsets[i].num_regs != 1)
                                return -EINVAL;
index 0d24092..7cf2157 100644 (file)
@@ -1509,8 +1509,10 @@ struct regmap_irq_chip_data;
  *                   registers before unmasking interrupts to clear any bits
  *                   set when they were masked.
  * @not_fixed_stride: Used when chip peripherals are not laid out with fixed
- *                   stride. Must be used with sub_reg_offsets containing the
- *                   offsets to each peripheral.
+ *                   stride. Must be used with sub_reg_offsets containing the
+ *                   offsets to each peripheral. Deprecated; the same thing
+ *                   can be accomplished with a @get_irq_reg callback, without
+ *                   the need for a @sub_reg_offsets table.
  * @status_invert: Inverted status register: cleared bits are active interrupts.
  * @runtime_pm:  Hold a runtime PM lock on the device when accessing it.
  *