Lines Matching refs:selector

79  * @selector:	selector for which the value is searched
82 * Search given ranges for value which matches given selector.
84 * Return: 0 on success, -EINVAL given selector is not found from any of the
87 int linear_range_get_value(const struct linear_range *r, unsigned int selector,
90 if (r->min_sel > selector || r->max_sel < selector)
93 *val = r->min + (selector - r->min_sel) * r->step;
103 * @selector: selector for which the value is searched
106 * Search through an array of ranges for value which matches given selector.
108 * Return: 0 on success, -EINVAL given selector is not found from any of the
112 unsigned int selector, unsigned int *val)
117 if (r[i].min_sel <= selector && r[i].max_sel >= selector)
118 return linear_range_get_value(&r[i], selector, val);
125 * linear_range_get_selector_low - return linear range selector for value
126 * @r: pointer to linear range where selector is looked from
127 * @val: value for which the selector is searched
128 * @selector: address where found selector value is updated
131 * Return selector for which range value is closest match for given
139 unsigned int val, unsigned int *selector,
148 *selector = r->max_sel;
155 *selector = r->min_sel;
157 *selector = (val - r->min) / r->step + r->min_sel;
164 * linear_range_get_selector_low_array - return linear range selector for value
165 * @r: pointer to array of linear ranges where selector is looked from
167 * @val: value for which the selector is searched
168 * @selector: address where found selector value is updated
171 * Scan array of ranges for selector for which range value matches given
176 * biggest selector is updated to @selector but scanning ranges is continued
184 unsigned int *selector, bool *found)
192 tmpret = linear_range_get_selector_low(&r[i], val, selector,
206 * linear_range_get_selector_high - return linear range selector for value
207 * @r: pointer to linear range where selector is looked from
208 * @val: value for which the selector is searched
209 * @selector: address where found selector value is updated
212 * Return selector for which range value is closest match for given
220 unsigned int val, unsigned int *selector,
229 *selector = r->min_sel;
236 *selector = r->max_sel;
238 *selector = DIV_ROUND_UP(val - r->min, r->step) + r->min_sel;
245 * linear_range_get_selector_within - return linear range selector for value
246 * @r: pointer to linear range where selector is looked from
247 * @val: value for which the selector is searched
248 * @selector: address where found selector value is updated
250 * Return selector for which range value is closest match for given
252 * value. But return maximum selector if given value is higher than
256 unsigned int val, unsigned int *selector)
259 *selector = r->min_sel;
264 *selector = r->max_sel;
269 *selector = r->min_sel;
271 *selector = (val - r->min) / r->step + r->min_sel;