iio: inkern: remove OF dependencies
Since all users of the OF dependendent API are now converted to use the firmware agnostic alternative, we can drop OF dependencies from the IIO in kernel interface. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20220715122903.332535-15-nuno.sa@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
d7705f3544
commit
b22bc4d607
@ -8,7 +8,6 @@
|
||||
#include <linux/property.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/of.h>
|
||||
|
||||
#include <linux/iio/iio.h>
|
||||
#include <linux/iio/iio-opaque.h>
|
||||
@ -143,26 +142,6 @@ static int __fwnode_iio_simple_xlate(struct iio_dev *indio_dev,
|
||||
return iiospec->args[0];
|
||||
}
|
||||
|
||||
/*
|
||||
* Simple helper to copy fwnode_reference_args into of_phandle_args so we
|
||||
* can pass it to of_xlate(). Ultimate goal is to drop this together with
|
||||
* of_xlate().
|
||||
*/
|
||||
static int __fwnode_to_of_xlate(struct iio_dev *indio_dev,
|
||||
const struct fwnode_reference_args *iiospec)
|
||||
{
|
||||
struct of_phandle_args of_args;
|
||||
unsigned int i;
|
||||
|
||||
of_args.args_count = iiospec->nargs;
|
||||
of_args.np = to_of_node(iiospec->fwnode);
|
||||
|
||||
for (i = 0; i < MAX_PHANDLE_ARGS; i++)
|
||||
of_args.args[i] = i < iiospec->nargs ? iiospec->args[i] : 0;
|
||||
|
||||
return indio_dev->info->of_xlate(indio_dev, &of_args);
|
||||
}
|
||||
|
||||
static int __fwnode_iio_channel_get(struct iio_channel *channel,
|
||||
struct fwnode_handle *fwnode, int index)
|
||||
{
|
||||
@ -185,9 +164,7 @@ static int __fwnode_iio_channel_get(struct iio_channel *channel,
|
||||
|
||||
indio_dev = dev_to_iio_dev(idev);
|
||||
channel->indio_dev = indio_dev;
|
||||
if (indio_dev->info->of_xlate)
|
||||
index = __fwnode_to_of_xlate(indio_dev, &iiospec);
|
||||
else if (indio_dev->info->fwnode_xlate)
|
||||
if (indio_dev->info->fwnode_xlate)
|
||||
index = indio_dev->info->fwnode_xlate(indio_dev, &iiospec);
|
||||
else
|
||||
index = __fwnode_iio_simple_xlate(indio_dev, &iiospec);
|
||||
|
@ -7,14 +7,12 @@
|
||||
#ifndef _IIO_INKERN_CONSUMER_H_
|
||||
#define _IIO_INKERN_CONSUMER_H_
|
||||
|
||||
#include <linux/of.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/iio/types.h>
|
||||
|
||||
struct iio_dev;
|
||||
struct iio_chan_spec;
|
||||
struct device;
|
||||
struct device_node;
|
||||
struct fwnode_handle;
|
||||
|
||||
/**
|
||||
@ -129,14 +127,6 @@ struct iio_channel *devm_fwnode_iio_channel_get_by_name(struct device *dev,
|
||||
struct fwnode_handle *fwnode,
|
||||
const char *consumer_channel);
|
||||
|
||||
static inline struct iio_channel
|
||||
*devm_of_iio_channel_get_by_name(struct device *dev, struct device_node *np,
|
||||
const char *consumer_channel)
|
||||
{
|
||||
return devm_fwnode_iio_channel_get_by_name(dev, of_fwnode_handle(np),
|
||||
consumer_channel);
|
||||
}
|
||||
|
||||
struct iio_cb_buffer;
|
||||
/**
|
||||
* iio_channel_get_all_cb() - register callback for triggered capture
|
||||
|
@ -17,7 +17,6 @@
|
||||
* Currently assumes nano seconds.
|
||||
*/
|
||||
|
||||
struct of_phandle_args;
|
||||
struct fwnode_reference_args;
|
||||
|
||||
enum iio_shared_by {
|
||||
@ -511,8 +510,6 @@ struct iio_info {
|
||||
int (*debugfs_reg_access)(struct iio_dev *indio_dev,
|
||||
unsigned reg, unsigned writeval,
|
||||
unsigned *readval);
|
||||
int (*of_xlate)(struct iio_dev *indio_dev,
|
||||
const struct of_phandle_args *iiospec);
|
||||
int (*fwnode_xlate)(struct iio_dev *indio_dev,
|
||||
const struct fwnode_reference_args *iiospec);
|
||||
int (*hwfifo_set_watermark)(struct iio_dev *indio_dev, unsigned val);
|
||||
|
Loading…
Reference in New Issue
Block a user