Lines Matching refs:indio_dev

91 	struct iio_dev			*indio_dev;
163 static int sun4i_prepare_for_irq(struct iio_dev *indio_dev, int channel,
166 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
170 pm_runtime_get_sync(indio_dev->dev.parent);
219 static int sun4i_gpadc_read(struct iio_dev *indio_dev, int channel, int *val,
222 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
227 ret = sun4i_prepare_for_irq(indio_dev, channel, irq);
251 pm_runtime_mark_last_busy(indio_dev->dev.parent);
254 pm_runtime_put_autosuspend(indio_dev->dev.parent);
261 static int sun4i_gpadc_adc_read(struct iio_dev *indio_dev, int channel,
264 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
266 return sun4i_gpadc_read(indio_dev, channel, val, info->fifo_data_irq);
269 static int sun4i_gpadc_temp_read(struct iio_dev *indio_dev, int *val)
271 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
274 pm_runtime_get_sync(indio_dev->dev.parent);
278 pm_runtime_mark_last_busy(indio_dev->dev.parent);
279 pm_runtime_put_autosuspend(indio_dev->dev.parent);
284 return sun4i_gpadc_read(indio_dev, 0, val, info->temp_data_irq);
287 static int sun4i_gpadc_temp_offset(struct iio_dev *indio_dev, int *val)
289 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
296 static int sun4i_gpadc_temp_scale(struct iio_dev *indio_dev, int *val)
298 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
305 static int sun4i_gpadc_read_raw(struct iio_dev *indio_dev,
313 ret = sun4i_gpadc_temp_offset(indio_dev, val);
320 ret = sun4i_gpadc_adc_read(indio_dev, chan->channel,
323 ret = sun4i_gpadc_temp_read(indio_dev, val);
337 ret = sun4i_gpadc_temp_scale(indio_dev, val);
419 if (sun4i_gpadc_temp_read(info->indio_dev, &val))
422 sun4i_gpadc_temp_scale(info->indio_dev, &scale);
423 sun4i_gpadc_temp_offset(info->indio_dev, &offset);
495 struct iio_dev *indio_dev)
497 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
506 indio_dev->num_channels = ARRAY_SIZE(sun8i_a33_gpadc_channels);
507 indio_dev->channels = sun8i_a33_gpadc_channels;
528 struct iio_dev *indio_dev)
530 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
538 indio_dev->num_channels = ARRAY_SIZE(sun4i_gpadc_channels);
539 indio_dev->channels = sun4i_gpadc_channels;
572 indio_dev->num_channels =
574 indio_dev->channels = sun4i_gpadc_channels_no_temp;
593 ret = iio_map_array_register(indio_dev, sun4i_gpadc_hwmon_maps);
607 struct iio_dev *indio_dev;
610 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*info));
611 if (!indio_dev)
614 info = iio_priv(indio_dev);
615 platform_set_drvdata(pdev, indio_dev);
618 info->indio_dev = indio_dev;
620 indio_dev->name = dev_name(&pdev->dev);
621 indio_dev->info = &sun4i_gpadc_iio_info;
622 indio_dev->modes = INDIO_DIRECT_MODE;
625 ret = sun4i_gpadc_probe_dt(pdev, indio_dev);
627 ret = sun4i_gpadc_probe_mfd(pdev, indio_dev);
654 ret = devm_iio_device_register(&pdev->dev, indio_dev);
664 iio_map_array_unregister(indio_dev);
674 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
675 struct sun4i_gpadc_iio *info = iio_priv(indio_dev);
684 iio_map_array_unregister(indio_dev);