// SPDX-License-Identifier: GPL-2.0-only /* * Helpers for parsing common ADC information from a firmware node. * * Copyright (c) 2025 Matti Vaittinen <mazziesaccount@gmail.com>
*/
/** * devm_iio_adc_device_alloc_chaninfo_se - allocate and fill iio_chan_spec for ADC * * Scan the device node for single-ended ADC channel information. Channel ID is * expected to be found from the "reg" property. Allocate and populate the * iio_chan_spec structure corresponding to channels that are found. The memory * for iio_chan_spec structure will be freed upon device detach. * * @dev: Pointer to the ADC device. * @template: Template iio_chan_spec from which the fields of all * found and allocated channels are initialized. * @max_chan_id: Maximum value of a channel ID. Use negative value if no * checking is required. * @cs: Location where pointer to allocated iio_chan_spec * should be stored. * * Return: Number of found channels on success. Negative value to indicate * failure. Specifically, -ENOENT if no channel nodes were found.
*/ int devm_iio_adc_device_alloc_chaninfo_se(struct device *dev, conststruct iio_chan_spec *template, int max_chan_id, struct iio_chan_spec **cs)
{ struct iio_chan_spec *chan_array, *chan; int num_chan, ret;
num_chan = iio_adc_device_num_channels(dev); if (num_chan < 0) return num_chan;
if (!num_chan) return -ENOENT;
chan_array = devm_kcalloc(dev, num_chan, sizeof(*chan_array),
GFP_KERNEL); if (!chan_array) return -ENOMEM;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.