Re: [PATCH v2 02/17] regmap-irq: Add get_irq_reg to support unusual register layouts

From: Aidan MacDonald
Date: Sat Jun 11 2022 - 10:31:06 EST



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.