summaryrefslogtreecommitdiff
path: root/drivers/staging/iio/trigger/iio-trig-sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/iio/trigger/iio-trig-sysfs.c')
-rw-r--r--drivers/staging/iio/trigger/iio-trig-sysfs.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/staging/iio/trigger/iio-trig-sysfs.c b/drivers/staging/iio/trigger/iio-trig-sysfs.c
index 6d3dee3fdba8..47248cd1fa0d 100644
--- a/drivers/staging/iio/trigger/iio-trig-sysfs.c
+++ b/drivers/staging/iio/trigger/iio-trig-sysfs.c
@@ -92,11 +92,9 @@ static ssize_t iio_sysfs_trigger_poll(struct device *dev,
}
static DEVICE_ATTR(trigger_now, S_IWUSR, NULL, iio_sysfs_trigger_poll);
-static IIO_TRIGGER_NAME_ATTR;
static struct attribute *iio_sysfs_trigger_attrs[] = {
&dev_attr_trigger_now.attr,
- &dev_attr_name.attr,
NULL,
};
@@ -104,11 +102,15 @@ static const struct attribute_group iio_sysfs_trigger_attr_group = {
.attrs = iio_sysfs_trigger_attrs,
};
+static const struct attribute_group *iio_sysfs_trigger_attr_groups[] = {
+ &iio_sysfs_trigger_attr_group,
+ NULL
+};
+
static int iio_sysfs_trigger_probe(int id)
{
struct iio_sysfs_trig *t;
int ret;
- char *name;
bool foundit = false;
mutex_lock(&iio_syfs_trig_list_mut);
list_for_each_entry(t, &iio_sysfs_trig_list, l)
@@ -120,25 +122,19 @@ static int iio_sysfs_trigger_probe(int id)
ret = -EINVAL;
goto out1;
}
-
- name = kasprintf(GFP_KERNEL, "sysfstrig%d", id);
- if (name == NULL) {
- ret = -ENOMEM;
- goto out1;
- }
t = kmalloc(sizeof(*t), GFP_KERNEL);
if (t == NULL) {
ret = -ENOMEM;
- goto free_name;
+ goto out1;
}
t->id = id;
- t->trig = iio_allocate_trigger_named(name);
+ t->trig = iio_allocate_trigger("sysfstrig%d", id);
if (!t->trig) {
ret = -ENOMEM;
goto free_t;
}
- t->trig->control_attrs = &iio_sysfs_trigger_attr_group;
+ t->trig->dev.groups = iio_sysfs_trigger_attr_groups;
t->trig->owner = THIS_MODULE;
t->trig->dev.parent = &iio_sysfs_trig_dev;
@@ -154,8 +150,6 @@ out2:
iio_put_trigger(t->trig);
free_t:
kfree(t);
-free_name:
- kfree(name);
out1:
mutex_unlock(&iio_syfs_trig_list_mut);
return ret;
@@ -177,7 +171,6 @@ static int iio_sysfs_trigger_remove(int id)
}
iio_trigger_unregister(t->trig);
- kfree(t->trig->name);
iio_free_trigger(t->trig);
list_del(&t->l);