Lines Matching refs:indio_dev
92 struct iio_dev *indio_dev;
164 static int sun4i_prepare_for_irq(struct iio_dev *indio_dev, int channel,
167 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
171 pm_runtime_get_sync(indio_dev->dev.parent);
220 static int sun4i_gpadc_read(struct iio_dev *indio_dev, int channel, int *val,
223 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
228 ret = sun4i_prepare_for_irq(indio_dev, channel, irq);
252 pm_runtime_mark_last_busy(indio_dev->dev.parent);
255 pm_runtime_put_autosuspend(indio_dev->dev.parent);
262 static int sun4i_gpadc_adc_read(struct iio_dev *indio_dev, int channel,
265 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
267 return sun4i_gpadc_read(indio_dev, channel, val, info->fifo_data_irq);
270 static int sun4i_gpadc_temp_read(struct iio_dev *indio_dev, int *val)
272 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
275 pm_runtime_get_sync(indio_dev->dev.parent);
279 pm_runtime_mark_last_busy(indio_dev->dev.parent);
280 pm_runtime_put_autosuspend(indio_dev->dev.parent);
285 return sun4i_gpadc_read(indio_dev, 0, val, info->temp_data_irq);
288 static int sun4i_gpadc_temp_offset(struct iio_dev *indio_dev, int *val)
290 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
297 static int sun4i_gpadc_temp_scale(struct iio_dev *indio_dev, int *val)
299 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
306 static int sun4i_gpadc_read_raw(struct iio_dev *indio_dev,
314 ret = sun4i_gpadc_temp_offset(indio_dev, val);
321 ret = sun4i_gpadc_adc_read(indio_dev, chan->channel,
324 ret = sun4i_gpadc_temp_read(indio_dev, val);
338 ret = sun4i_gpadc_temp_scale(indio_dev, val);
420 if (sun4i_gpadc_temp_read(info->indio_dev, &val))
423 sun4i_gpadc_temp_scale(info->indio_dev, &scale);
424 sun4i_gpadc_temp_offset(info->indio_dev, &offset);
496 struct iio_dev *indio_dev)
498 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
507 indio_dev->num_channels = ARRAY_SIZE(sun8i_a33_gpadc_channels);
508 indio_dev->channels = sun8i_a33_gpadc_channels;
529 struct iio_dev *indio_dev)
531 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
539 indio_dev->num_channels = ARRAY_SIZE(sun4i_gpadc_channels);
540 indio_dev->channels = sun4i_gpadc_channels;
573 indio_dev->num_channels =
575 indio_dev->channels = sun4i_gpadc_channels_no_temp;
594 ret = iio_map_array_register(indio_dev, sun4i_gpadc_hwmon_maps);
608 struct iio_dev *indio_dev;
611 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*info));
612 if (!indio_dev)
615 info = iio_priv(indio_dev);
616 platform_set_drvdata(pdev, indio_dev);
619 info->indio_dev = indio_dev;
621 indio_dev->name = dev_name(&pdev->dev);
622 indio_dev->info = &sun4i_gpadc_iio_info;
623 indio_dev->modes = INDIO_DIRECT_MODE;
626 ret = sun4i_gpadc_probe_dt(pdev, indio_dev);
628 ret = sun4i_gpadc_probe_mfd(pdev, indio_dev);
655 ret = devm_iio_device_register(&pdev->dev, indio_dev);
665 iio_map_array_unregister(indio_dev);
675 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
676 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
687 iio_map_array_unregister(indio_dev);