lib: add linear range index macro
authorChiaEn Wu <chiaen_wu@richtek.com>
Thu, 15 Sep 2022 09:47:32 +0000 (17:47 +0800)
committerSebastian Reichel <sre@kernel.org>
Fri, 16 Sep 2022 20:27:19 +0000 (22:27 +0200)
Add linear_range_idx macro for declaring the linear_range struct simply.

Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>
Signed-off-by: ChiaEn Wu <chiaen_wu@richtek.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
include/linux/linear_range.h

index fd3d0b358f2283b65b51811f422216981c67fb49..2e4f4c3539c075a6caa69f6ae750a556f41fce5d 100644 (file)
@@ -26,6 +26,17 @@ struct linear_range {
        unsigned int step;
 };
 
+#define LINEAR_RANGE(_min, _min_sel, _max_sel, _step)          \
+       {                                                       \
+               .min = _min,                                    \
+               .min_sel = _min_sel,                            \
+               .max_sel = _max_sel,                            \
+               .step = _step,                                  \
+       }
+
+#define LINEAR_RANGE_IDX(_idx, _min, _min_sel, _max_sel, _step)        \
+       [_idx] = LINEAR_RANGE(_min, _min_sel, _max_sel, _step)
+
 unsigned int linear_range_values_in_range(const struct linear_range *r);
 unsigned int linear_range_values_in_range_array(const struct linear_range *r,
                                                int ranges);