Lines Matching refs:st

86 static int as3935_read(struct as3935_state *st, unsigned int reg, int *val)  in as3935_read()  argument
92 ret = spi_w8r8(st->spi, cmd); in as3935_read()
100 static int as3935_write(struct as3935_state *st, in as3935_write() argument
104 u8 *buf = st->buf; in as3935_write()
109 return spi_write(st->spi, buf, 2); in as3935_write()
116 struct as3935_state *st = iio_priv(dev_to_iio_dev(dev)); in as3935_sensor_sensitivity_show() local
119 ret = as3935_read(st, AS3935_AFE_GAIN, &val); in as3935_sensor_sensitivity_show()
131 struct as3935_state *st = iio_priv(dev_to_iio_dev(dev)); in as3935_sensor_sensitivity_store() local
142 as3935_write(st, AS3935_AFE_GAIN, val << 1); in as3935_sensor_sensitivity_store()
166 struct as3935_state *st = iio_priv(indio_dev); in as3935_read_raw() local
174 ret = as3935_read(st, AS3935_DATA, val); in as3935_read_raw()
203 struct as3935_state *st = iio_priv(indio_dev); in as3935_trigger_handler() local
206 ret = as3935_read(st, AS3935_DATA, &val); in as3935_trigger_handler()
225 struct as3935_state *st; in as3935_event_work() local
228 st = container_of(work, struct as3935_state, work.work); in as3935_event_work()
230 as3935_read(st, AS3935_INT, &val); in as3935_event_work()
235 iio_trigger_poll(st->trig); in as3935_event_work()
238 dev_warn(&st->spi->dev, "noise level is too high"); in as3935_event_work()
246 struct as3935_state *st = iio_priv(indio_dev); in as3935_interrupt_handler() local
253 schedule_delayed_work(&st->work, msecs_to_jiffies(3)); in as3935_interrupt_handler()
258 static void calibrate_as3935(struct as3935_state *st) in calibrate_as3935() argument
260 mutex_lock(&st->lock); in calibrate_as3935()
263 as3935_write(st, AS3935_INT, BIT(5)); in calibrate_as3935()
265 as3935_write(st, AS3935_CALIBRATE, 0x96); in calibrate_as3935()
266 as3935_write(st, AS3935_TUNE_CAP, in calibrate_as3935()
267 BIT(5) | (st->tune_cap / TUNE_CAP_DIV)); in calibrate_as3935()
270 as3935_write(st, AS3935_TUNE_CAP, (st->tune_cap / TUNE_CAP_DIV)); in calibrate_as3935()
272 mutex_unlock(&st->lock); in calibrate_as3935()
279 struct as3935_state *st = iio_priv(indio_dev); in as3935_suspend() local
282 mutex_lock(&st->lock); in as3935_suspend()
283 ret = as3935_read(st, AS3935_AFE_GAIN, &val); in as3935_suspend()
288 ret = as3935_write(st, AS3935_AFE_GAIN, val); in as3935_suspend()
291 mutex_unlock(&st->lock); in as3935_suspend()
299 struct as3935_state *st = iio_priv(indio_dev); in as3935_resume() local
302 mutex_lock(&st->lock); in as3935_resume()
303 ret = as3935_read(st, AS3935_AFE_GAIN, &val); in as3935_resume()
307 ret = as3935_write(st, AS3935_AFE_GAIN, val); in as3935_resume()
310 mutex_unlock(&st->lock); in as3935_resume()
326 struct as3935_state *st; in as3935_probe() local
336 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); in as3935_probe()
340 st = iio_priv(indio_dev); in as3935_probe()
341 st->spi = spi; in as3935_probe()
342 st->tune_cap = 0; in as3935_probe()
345 mutex_init(&st->lock); in as3935_probe()
346 INIT_DELAYED_WORK(&st->work, as3935_event_work); in as3935_probe()
349 "ams,tuning-capacitor-pf", &st->tune_cap); in as3935_probe()
351 st->tune_cap = 0; in as3935_probe()
354 st->tune_cap); in as3935_probe()
357 if (st->tune_cap > MAX_PF_CAP) { in as3935_probe()
360 st->tune_cap); in as3935_probe()
377 st->trig = trig; in as3935_probe()
396 calibrate_as3935(st); in as3935_probe()
420 iio_trigger_unregister(st->trig); in as3935_probe()
428 struct as3935_state *st = iio_priv(indio_dev); in as3935_remove() local
432 iio_trigger_unregister(st->trig); in as3935_remove()