Lines Matching refs:st

68 static int gain_dB_to_code(struct hmc425a_state *st, int val, int val2, int *code)
70 const struct hmc425a_chip_info *inf = st->chip_info;
80 if (st->powerdown)
83 return st->chip_info->gain_dB_to_code(gain, code);
114 static int code_to_gain_dB(struct hmc425a_state *st, int *val, int *val2)
116 if (st->powerdown)
118 return st->chip_info->code_to_gain_dB(st->gain, val, val2);
159 struct hmc425a_state *st = iio_priv(indio_dev);
164 gpiod_set_array_value_cansleep(st->gpios->ndescs, st->gpios->desc,
173 struct hmc425a_state *st = iio_priv(indio_dev);
176 mutex_lock(&st->lock);
179 ret = code_to_gain_dB(st, val, val2);
187 mutex_unlock(&st->lock);
196 struct hmc425a_state *st = iio_priv(indio_dev);
199 mutex_lock(&st->lock);
202 ret = gain_dB_to_code(st, val, val2, &code);
205 st->gain = code;
207 ret = hmc425a_write(indio_dev, st->gain);
212 mutex_unlock(&st->lock);
240 struct hmc425a_state *st = iio_priv(indio_dev);
242 return sysfs_emit(buf, "%d\n", st->powerdown);
251 struct hmc425a_state *st = iio_priv(indio_dev);
259 mutex_lock(&st->lock);
260 st->powerdown = powerdown;
261 code = (powerdown) ? LTC6373_SHUTDOWN : st->gain;
263 mutex_unlock(&st->lock);
356 struct hmc425a_state *st;
359 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*st));
363 st = iio_priv(indio_dev);
365 st->chip_info = device_get_match_data(&pdev->dev);
366 indio_dev->num_channels = st->chip_info->num_channels;
367 indio_dev->channels = st->chip_info->channels;
368 indio_dev->name = st->chip_info->name;
369 st->gain = st->chip_info->default_gain;
371 st->gpios = devm_gpiod_get_array(&pdev->dev, "ctrl", GPIOD_OUT_LOW);
372 if (IS_ERR(st->gpios))
373 return dev_err_probe(&pdev->dev, PTR_ERR(st->gpios),
376 if (st->gpios->ndescs != st->chip_info->num_gpios) {
378 st->chip_info->num_gpios);
386 mutex_init(&st->lock);
391 if (st->chip_info->has_powerdown) {
392 st->powerdown = true;
393 hmc425a_write(indio_dev, st->chip_info->powerdown_val);
396 hmc425a_write(indio_dev, st->gain);