Re: [RESEND PATCH v8 06/12] lib: add linear range index macro

Matti Vaittinen
2022-08-15T12:03:03Z

Hi ChiaEn,

On 8/15/22 12:01, ChiaEn Wu wrote:
> From: ChiaEn Wu <chiaen_wu@richtek.com>
>
> Add linear_range_idx macro for declaring the linear_range struct simply.
>
> Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
> ---
> include/linux/linear_range.h | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/include/linux/linear_range.h b/include/linux/linear_range.h
> index fd3d0b358f22..fb53ea13c593 100644
> --- a/include/linux/linear_range.h
> +++ b/include/linux/linear_range.h
> @@ -26,6 +26,14 @@ struct linear_range {
> unsigned int step;
> };
>
> +#define LINEAR_RANGE_IDX(_min, _min_sel, _max_sel, _step) \
> + { \
> + .min = _min, \
> + .min_sel = _min_sel, \
> + .max_sel = _max_sel, \
> + .step = _step, \
> + }
> +

I think this somewhat differs from what you had originally scetched. Eg,
if I didn't misread the patch earlier - you had:

#define MT6370_CHG_LINEAR_RANGE(_rfd, _min, _min_sel, _max_sel, _step) \
[_rfd] = { \
...

instead of the
> +#define LINEAR_RANGE_IDX(_min, _min_sel, _max_sel, _step) \
> + { \

I think the latter (without the []-index) is more generic, and very
welcome. However, the IDX-suffix does no longer make much sense, right?
I suggested name LINEAR_RANGE_IDX for macro taking the array index as it
would also be useful when dealing with arrays.

Do you think you could still drop the IDX from macro name or keep the
array index as the original did?

Maybe ideally introduce both macros (unless Mark has objections), one
with the [_rfd] and suffix IDX, and the other w/o the suffix and w/o the
[_rfd]?

Thanks for the improvements and the patience! ;)

Yours
-- Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~