iio: Update iio_channel_get_all and iio_channel_get_all_cb API
Pass device pointer instead of device name as parameter to iio_channel_get_all and iio_channel_get_all_cb. This will enable us to use OF information to retrieve consumer channel information. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:

کامیت شده توسط
Jonathan Cameron

والد
482bb4e6c6
کامیت
ca7d98dbd7
@@ -25,7 +25,7 @@ static struct iio_buffer_access_funcs iio_cb_access = {
|
||||
.store_to = &iio_buffer_cb_store_to,
|
||||
};
|
||||
|
||||
struct iio_cb_buffer *iio_channel_get_all_cb(const char *name,
|
||||
struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
|
||||
int (*cb)(u8 *data,
|
||||
void *private),
|
||||
void *private)
|
||||
@@ -46,7 +46,7 @@ struct iio_cb_buffer *iio_channel_get_all_cb(const char *name,
|
||||
cb_buff->buffer.access = &iio_cb_access;
|
||||
INIT_LIST_HEAD(&cb_buff->buffer.demux_list);
|
||||
|
||||
cb_buff->channels = iio_channel_get_all(name);
|
||||
cb_buff->channels = iio_channel_get_all(dev);
|
||||
if (IS_ERR(cb_buff->channels)) {
|
||||
ret = PTR_ERR(cb_buff->channels);
|
||||
goto error_free_cb_buff;
|
||||
|
@@ -167,16 +167,18 @@ void iio_channel_release(struct iio_channel *channel)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iio_channel_release);
|
||||
|
||||
struct iio_channel *iio_channel_get_all(const char *name)
|
||||
struct iio_channel *iio_channel_get_all(struct device *dev)
|
||||
{
|
||||
const char *name;
|
||||
struct iio_channel *chans;
|
||||
struct iio_map_internal *c = NULL;
|
||||
int nummaps = 0;
|
||||
int mapind = 0;
|
||||
int i, ret;
|
||||
|
||||
if (name == NULL)
|
||||
if (dev == NULL)
|
||||
return ERR_PTR(-EINVAL);
|
||||
name = dev_name(dev);
|
||||
|
||||
mutex_lock(&iio_map_list_lock);
|
||||
/* first count the matching maps */
|
||||
|
مرجع در شماره جدید
Block a user