Re: [PATCH 2/3] pinctrl: cy8c95x0: Use regmap ranges

From: Andy Shevchenko
Date: Tue May 21 2024 - 13:35:09 EST


On Tue, May 21, 2024 at 6:26 PM Patrick Rudolph
<patrick.rudolph@xxxxxxxxxxxxx> wrote:
>
> Instead of implementing a custom register paging mechanism in
> the driver use the existing regmap ranges feature.

driver, use

..


> +static const struct regmap_range_cfg cy8c95x0_ranges[] = {
> + {
> + .range_min = CY8C95X0_VIRTUAL,
> + .range_max = 0, /* Updated at runtime */

This and similar comments are misleading since the data is defined as
const. Updated --> Filled or alike here and elsewhere.

> + .selector_reg = CY8C95X0_PORTSEL,
> + .selector_mask = 0x07,
> + .selector_shift = 0x0,
> + .window_start = CY8C95X0_INTMASK,
> + .window_len = MUXED_STRIDE,
> + }
> };

..

> + regcache_cache_only(chip->regmap, true);
> + regmap_update_bits(chip->regmap, off, mask & val, 0);
> + regcache_cache_only(chip->regmap, false);

A side note: It's strange to see mask & val, 0 in the parameters of
regmap calls. Perhaps refactor this (in a separate patch) to use
standard approach?

..

> + memcpy(&regmap_range_conf, &cy8c95x0_ranges[0], sizeof(regmap_range_conf));

memcpy(&regmap_range_conf, cy8c95x0_ranges, sizeof(regmap_range_conf));

..

Note, if you are not using --histogram diff algo, please start using
it from the next version of this series.

P.S. I will test the next version on Intel Galileo Gen1 as currently I
have some issues with the HW I need to fix first.

--
With Best Regards,
Andy Shevchenko