iio: Remove support for the legacy event config interface
Now that all drivers have been converted to the new event config interface we can remove for the legacy event config interface. Also drop the '_new' suffix for the event config interface callbacks, since those are the only callbacks now. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:

committed by
Jonathan Cameron

parent
bb7f9d90a5
commit
cb955852a4
@@ -242,13 +242,9 @@ static ssize_t iio_ev_state_store(struct device *dev,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (indio_dev->info->write_event_config)
|
||||
ret = indio_dev->info->write_event_config(indio_dev,
|
||||
this_attr->address, val);
|
||||
else
|
||||
ret = indio_dev->info->write_event_config_new(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr), val);
|
||||
ret = indio_dev->info->write_event_config(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr), val);
|
||||
|
||||
return (ret < 0) ? ret : len;
|
||||
}
|
||||
@@ -261,13 +257,9 @@ static ssize_t iio_ev_state_show(struct device *dev,
|
||||
struct iio_dev_attr *this_attr = to_iio_dev_attr(attr);
|
||||
int val;
|
||||
|
||||
if (indio_dev->info->read_event_config)
|
||||
val = indio_dev->info->read_event_config(indio_dev,
|
||||
this_attr->address);
|
||||
else
|
||||
val = indio_dev->info->read_event_config_new(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr));
|
||||
val = indio_dev->info->read_event_config(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr));
|
||||
if (val < 0)
|
||||
return val;
|
||||
else
|
||||
@@ -283,21 +275,13 @@ static ssize_t iio_ev_value_show(struct device *dev,
|
||||
int val, val2;
|
||||
int ret;
|
||||
|
||||
if (indio_dev->info->read_event_value) {
|
||||
ret = indio_dev->info->read_event_value(indio_dev,
|
||||
this_attr->address, &val);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return sprintf(buf, "%d\n", val);
|
||||
} else {
|
||||
ret = indio_dev->info->read_event_value_new(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr),
|
||||
&val, &val2);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return iio_format_value(buf, ret, val, val2);
|
||||
}
|
||||
ret = indio_dev->info->read_event_value(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr),
|
||||
&val, &val2);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return iio_format_value(buf, ret, val, val2);
|
||||
}
|
||||
|
||||
static ssize_t iio_ev_value_store(struct device *dev,
|
||||
@@ -310,25 +294,16 @@ static ssize_t iio_ev_value_store(struct device *dev,
|
||||
int val, val2;
|
||||
int ret;
|
||||
|
||||
if (!indio_dev->info->write_event_value &&
|
||||
!indio_dev->info->write_event_value_new)
|
||||
if (!indio_dev->info->write_event_value)
|
||||
return -EINVAL;
|
||||
|
||||
if (indio_dev->info->write_event_value) {
|
||||
ret = kstrtoint(buf, 10, &val);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = indio_dev->info->write_event_value(indio_dev,
|
||||
this_attr->address, val);
|
||||
} else {
|
||||
ret = iio_str_to_fixpoint(buf, 100000, &val, &val2);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = indio_dev->info->write_event_value_new(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr),
|
||||
val, val2);
|
||||
}
|
||||
ret = iio_str_to_fixpoint(buf, 100000, &val, &val2);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = indio_dev->info->write_event_value(indio_dev,
|
||||
this_attr->c, iio_ev_attr_type(this_attr),
|
||||
iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr),
|
||||
val, val2);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
@@ -377,7 +352,7 @@ static int iio_device_add_event(struct iio_dev *indio_dev,
|
||||
return attrcount;
|
||||
}
|
||||
|
||||
static int iio_device_add_event_sysfs_new(struct iio_dev *indio_dev,
|
||||
static int iio_device_add_event_sysfs(struct iio_dev *indio_dev,
|
||||
struct iio_chan_spec const *chan)
|
||||
{
|
||||
int ret = 0, i, attrcount = 0;
|
||||
@@ -420,89 +395,6 @@ error_ret:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int iio_device_add_event_sysfs_old(struct iio_dev *indio_dev,
|
||||
struct iio_chan_spec const *chan)
|
||||
{
|
||||
int ret = 0, i, attrcount = 0;
|
||||
u64 mask = 0;
|
||||
char *postfix;
|
||||
if (!chan->event_mask)
|
||||
return 0;
|
||||
|
||||
for_each_set_bit(i, &chan->event_mask, sizeof(chan->event_mask)*8) {
|
||||
postfix = kasprintf(GFP_KERNEL, "%s_%s_en",
|
||||
iio_ev_type_text[i/IIO_EV_DIR_MAX],
|
||||
iio_ev_dir_text[i%IIO_EV_DIR_MAX]);
|
||||
if (postfix == NULL) {
|
||||
ret = -ENOMEM;
|
||||
goto error_ret;
|
||||
}
|
||||
if (chan->modified)
|
||||
mask = IIO_MOD_EVENT_CODE(chan->type, 0, chan->channel2,
|
||||
i/IIO_EV_DIR_MAX,
|
||||
i%IIO_EV_DIR_MAX);
|
||||
else if (chan->differential)
|
||||
mask = IIO_EVENT_CODE(chan->type,
|
||||
0, 0,
|
||||
i%IIO_EV_DIR_MAX,
|
||||
i/IIO_EV_DIR_MAX,
|
||||
0,
|
||||
chan->channel,
|
||||
chan->channel2);
|
||||
else
|
||||
mask = IIO_UNMOD_EVENT_CODE(chan->type,
|
||||
chan->channel,
|
||||
i/IIO_EV_DIR_MAX,
|
||||
i%IIO_EV_DIR_MAX);
|
||||
|
||||
ret = __iio_add_chan_devattr(postfix,
|
||||
chan,
|
||||
&iio_ev_state_show,
|
||||
iio_ev_state_store,
|
||||
mask,
|
||||
0,
|
||||
&indio_dev->dev,
|
||||
&indio_dev->event_interface->
|
||||
dev_attr_list);
|
||||
kfree(postfix);
|
||||
if (ret)
|
||||
goto error_ret;
|
||||
attrcount++;
|
||||
postfix = kasprintf(GFP_KERNEL, "%s_%s_value",
|
||||
iio_ev_type_text[i/IIO_EV_DIR_MAX],
|
||||
iio_ev_dir_text[i%IIO_EV_DIR_MAX]);
|
||||
if (postfix == NULL) {
|
||||
ret = -ENOMEM;
|
||||
goto error_ret;
|
||||
}
|
||||
ret = __iio_add_chan_devattr(postfix, chan,
|
||||
iio_ev_value_show,
|
||||
iio_ev_value_store,
|
||||
mask,
|
||||
0,
|
||||
&indio_dev->dev,
|
||||
&indio_dev->event_interface->
|
||||
dev_attr_list);
|
||||
kfree(postfix);
|
||||
if (ret)
|
||||
goto error_ret;
|
||||
attrcount++;
|
||||
}
|
||||
ret = attrcount;
|
||||
error_ret:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static int iio_device_add_event_sysfs(struct iio_dev *indio_dev,
|
||||
struct iio_chan_spec const *chan)
|
||||
{
|
||||
if (chan->event_mask)
|
||||
return iio_device_add_event_sysfs_old(indio_dev, chan);
|
||||
else
|
||||
return iio_device_add_event_sysfs_new(indio_dev, chan);
|
||||
}
|
||||
|
||||
static inline int __iio_add_event_config_attrs(struct iio_dev *indio_dev)
|
||||
{
|
||||
int j, ret, attrcount = 0;
|
||||
@@ -523,8 +415,6 @@ static bool iio_check_for_dynamic_events(struct iio_dev *indio_dev)
|
||||
int j;
|
||||
|
||||
for (j = 0; j < indio_dev->num_channels; j++) {
|
||||
if (indio_dev->channels[j].event_mask != 0)
|
||||
return true;
|
||||
if (indio_dev->channels[j].num_event_specs != 0)
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user