Mark Brown <broonie@xxxxxxxxxx> writes: > On Fri, Jun 10, 2022 at 04:40:20PM +0100, Aidan MacDonald wrote: >> Mark Brown <broonie@xxxxxxxxxx> writes: >> > On Tue, Jun 07, 2022 at 04:53:09PM +0100, Aidan MacDonald wrote: > >> >> - if (!chip->sub_reg_offsets || !chip->not_fixed_stride) { >> >> + if (chip->get_irq_reg) { >> >> + reg = chip->get_irq_reg(base_reg, i); >> >> + } else if (!chip->sub_reg_offsets || !chip->not_fixed_stride) { > >> > It seems like it would be cleaner and clearer to refactor things so that >> > we always have a get_irq_reg() with standard chips getting given a >> > default implementation which implements the current behaviour. > >> I don't think that is a good way to clean things up. I only intended >> get_irq_reg() to be a quick hack to solve a problem; in my opinion it >> would be a poor abstraction to base the API around. > > I'm not sure why you are proposing this change if you are so convinced > it's a bad idea. If you want to propose a different rework go ahead, > but adding the new operation without any form of factoring out is an > issue. At first glance your suggestion looked plausible. This patch isn't a refactor and I don't think it's a bad idea when viewed as minimal solution to a problem, which was my intention. I just think it wouldn't be a good abstraction to refactor around. Thanks for your input anyhow. Just as a heads up, I'll be resending these regmap-irq patches in v3 so the series stays self-contained while I work on refactoring. Feel free to ignore them if you don't want to take them.