Symbol: rzn1_adc
drivers/iio/adc/rzn1-adc.c
129
static int rzn1_adc_power(struct rzn1_adc *rzn1_adc, bool power)
drivers/iio/adc/rzn1-adc.c
134
rzn1_adc->regs + RZN1_ADC_CONFIG_REG);
drivers/iio/adc/rzn1-adc.c
137
return readl_poll_timeout_atomic(rzn1_adc->regs + RZN1_ADC_CONTROL_REG,
drivers/iio/adc/rzn1-adc.c
142
static void rzn1_adc_vc_setup_conversion(struct rzn1_adc *rzn1_adc, u32 ch,
drivers/iio/adc/rzn1-adc.c
155
writel(vc, rzn1_adc->regs + RZN1_ADC_VC_REG(ch));
drivers/iio/adc/rzn1-adc.c
158
static int rzn1_adc_vc_start_conversion(struct rzn1_adc *rzn1_adc, u32 ch)
drivers/iio/adc/rzn1-adc.c
162
val = readl(rzn1_adc->regs + RZN1_ADC_FORCE_REG);
drivers/iio/adc/rzn1-adc.c
166
writel(RZN1_ADC_FORCE_VC(ch), rzn1_adc->regs + RZN1_ADC_SET_FORCE_REG);
drivers/iio/adc/rzn1-adc.c
171
static void rzn1_adc_vc_stop_conversion(struct rzn1_adc *rzn1_adc, u32 ch)
drivers/iio/adc/rzn1-adc.c
173
writel(RZN1_ADC_FORCE_VC(ch), rzn1_adc->regs + RZN1_ADC_CLEAR_FORCE_REG);
drivers/iio/adc/rzn1-adc.c
176
static int rzn1_adc_vc_wait_conversion(struct rzn1_adc *rzn1_adc, u32 ch,
drivers/iio/adc/rzn1-adc.c
199
ret = readl_poll_timeout_atomic(rzn1_adc->regs + RZN1_ADC_FORCE_REG,
drivers/iio/adc/rzn1-adc.c
206
data_reg = readl(rzn1_adc->regs + RZN1_ADC_ADC1_DATA_REG(ch));
drivers/iio/adc/rzn1-adc.c
211
data_reg = readl(rzn1_adc->regs + RZN1_ADC_ADC2_DATA_REG(ch));
drivers/iio/adc/rzn1-adc.c
218
static int rzn1_adc_read_raw_ch(struct rzn1_adc *rzn1_adc, unsigned int chan, int *val)
drivers/iio/adc/rzn1-adc.c
251
ACQUIRE(pm_runtime_active_auto_try_enabled, pm)(rzn1_adc->dev);
drivers/iio/adc/rzn1-adc.c
256
scoped_guard(mutex, &rzn1_adc->lock) {
drivers/iio/adc/rzn1-adc.c
257
rzn1_adc_vc_setup_conversion(rzn1_adc, chan, adc1_ch, adc2_ch);
drivers/iio/adc/rzn1-adc.c
259
ret = rzn1_adc_vc_start_conversion(rzn1_adc, chan);
drivers/iio/adc/rzn1-adc.c
263
ret = rzn1_adc_vc_wait_conversion(rzn1_adc, chan, adc1_data, adc2_data);
drivers/iio/adc/rzn1-adc.c
265
rzn1_adc_vc_stop_conversion(rzn1_adc, chan);
drivers/iio/adc/rzn1-adc.c
276
static int rzn1_adc_get_vref_mV(struct rzn1_adc *rzn1_adc, unsigned int chan)
drivers/iio/adc/rzn1-adc.c
280
return rzn1_adc->adc1_vref_mV;
drivers/iio/adc/rzn1-adc.c
284
return rzn1_adc->adc2_vref_mV;
drivers/iio/adc/rzn1-adc.c
292
struct rzn1_adc *rzn1_adc = iio_priv(indio_dev);
drivers/iio/adc/rzn1-adc.c
297
ret = rzn1_adc_read_raw_ch(rzn1_adc, chan->channel, val);
drivers/iio/adc/rzn1-adc.c
303
ret = rzn1_adc_get_vref_mV(rzn1_adc, chan->channel);
drivers/iio/adc/rzn1-adc.c
319
static int rzn1_adc_set_iio_dev_channels(struct rzn1_adc *rzn1_adc,
drivers/iio/adc/rzn1-adc.c
327
if (rzn1_adc->adc1_vref_mV >= 0) {
drivers/iio/adc/rzn1-adc.c
328
if (rzn1_adc->adc2_vref_mV >= 0) {
drivers/iio/adc/rzn1-adc.c
338
if (rzn1_adc->adc2_vref_mV >= 0) {
drivers/iio/adc/rzn1-adc.c
344
return dev_err_probe(rzn1_adc->dev, -ENODEV,
drivers/iio/adc/rzn1-adc.c
348
static int rzn1_adc_core_get_regulators(struct rzn1_adc *rzn1_adc,
drivers/iio/adc/rzn1-adc.c
352
struct device *dev = rzn1_adc->dev;
drivers/iio/adc/rzn1-adc.c
397
struct rzn1_adc *rzn1_adc;
drivers/iio/adc/rzn1-adc.c
401
indio_dev = devm_iio_device_alloc(dev, sizeof(*rzn1_adc));
drivers/iio/adc/rzn1-adc.c
405
rzn1_adc = iio_priv(indio_dev);
drivers/iio/adc/rzn1-adc.c
406
rzn1_adc->dev = dev;
drivers/iio/adc/rzn1-adc.c
408
ret = devm_mutex_init(dev, &rzn1_adc->lock);
drivers/iio/adc/rzn1-adc.c
412
rzn1_adc->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/iio/adc/rzn1-adc.c
413
if (IS_ERR(rzn1_adc->regs))
drivers/iio/adc/rzn1-adc.c
414
return PTR_ERR(rzn1_adc->regs);
drivers/iio/adc/rzn1-adc.c
424
ret = rzn1_adc_core_get_regulators(rzn1_adc, &rzn1_adc->adc1_vref_mV,
drivers/iio/adc/rzn1-adc.c
429
ret = rzn1_adc_core_get_regulators(rzn1_adc, &rzn1_adc->adc2_vref_mV,
drivers/iio/adc/rzn1-adc.c
434
platform_set_drvdata(pdev, rzn1_adc);
drivers/iio/adc/rzn1-adc.c
439
ret = rzn1_adc_set_iio_dev_channels(rzn1_adc, indio_dev);
drivers/iio/adc/rzn1-adc.c
454
struct rzn1_adc *rzn1_adc = dev_get_drvdata(dev);
drivers/iio/adc/rzn1-adc.c
456
return rzn1_adc_power(rzn1_adc, false);
drivers/iio/adc/rzn1-adc.c
461
struct rzn1_adc *rzn1_adc = dev_get_drvdata(dev);
drivers/iio/adc/rzn1-adc.c
463
return rzn1_adc_power(rzn1_adc, true);