Lines Matching refs:chan
232 static int sx9500_inc_chan_users(struct sx9500_data *data, int chan) in sx9500_inc_chan_users() argument
234 return sx9500_inc_users(data, &data->channel_users[chan], in sx9500_inc_chan_users()
235 SX9500_REG_PROX_CTRL0, BIT(chan)); in sx9500_inc_chan_users()
238 static int sx9500_dec_chan_users(struct sx9500_data *data, int chan) in sx9500_dec_chan_users() argument
240 return sx9500_dec_users(data, &data->channel_users[chan], in sx9500_dec_chan_users()
241 SX9500_REG_PROX_CTRL0, BIT(chan)); in sx9500_dec_chan_users()
271 const struct iio_chan_spec *chan, in sx9500_read_prox_data() argument
277 ret = regmap_write(data->regmap, SX9500_REG_SENSOR_SEL, chan->channel); in sx9500_read_prox_data()
311 const struct iio_chan_spec *chan, in sx9500_read_proximity() argument
318 ret = sx9500_inc_chan_users(data, chan->channel); in sx9500_read_proximity()
338 ret = sx9500_read_prox_data(data, chan, val); in sx9500_read_proximity()
346 ret = sx9500_dec_chan_users(data, chan->channel); in sx9500_read_proximity()
357 sx9500_dec_chan_users(data, chan->channel); in sx9500_read_proximity()
386 const struct iio_chan_spec *chan, in sx9500_read_raw() argument
391 switch (chan->type) { in sx9500_read_raw()
397 return sx9500_read_proximity(data, chan, val); in sx9500_read_raw()
433 const struct iio_chan_spec *chan, in sx9500_write_raw() argument
438 switch (chan->type) { in sx9500_write_raw()
471 unsigned int val, chan; in sx9500_push_events() local
481 for (chan = 0; chan < SX9500_NUM_CHANNELS; chan++) { in sx9500_push_events()
484 bool new_prox = val & BIT(chan); in sx9500_push_events()
486 if (!data->event_enabled[chan]) in sx9500_push_events()
488 if (new_prox == data->prox_stat[chan]) in sx9500_push_events()
493 ev = IIO_UNMOD_EVENT_CODE(IIO_PROXIMITY, chan, in sx9500_push_events()
496 data->prox_stat[chan] = new_prox; in sx9500_push_events()
528 const struct iio_chan_spec *chan, in sx9500_read_event_config() argument
534 if (chan->type != IIO_PROXIMITY || type != IIO_EV_TYPE_THRESH || in sx9500_read_event_config()
538 return data->event_enabled[chan->channel]; in sx9500_read_event_config()
542 const struct iio_chan_spec *chan, in sx9500_write_event_config() argument
550 if (chan->type != IIO_PROXIMITY || type != IIO_EV_TYPE_THRESH || in sx9500_write_event_config()
557 ret = sx9500_inc_chan_users(data, chan->channel); in sx9500_write_event_config()
564 ret = sx9500_dec_chan_users(data, chan->channel); in sx9500_write_event_config()
572 data->event_enabled[chan->channel] = state; in sx9500_write_event_config()
577 sx9500_dec_chan_users(data, chan->channel); in sx9500_write_event_config()
579 sx9500_inc_chan_users(data, chan->channel); in sx9500_write_event_config()