diff options
Diffstat (limited to 'drivers/staging/iio/trigger/iio-trig-bfin-timer.c')
-rw-r--r-- | drivers/staging/iio/trigger/iio-trig-bfin-timer.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/drivers/staging/iio/trigger/iio-trig-bfin-timer.c b/drivers/staging/iio/trigger/iio-trig-bfin-timer.c index 583bef0936e..4f172956558 100644 --- a/drivers/staging/iio/trigger/iio-trig-bfin-timer.c +++ b/drivers/staging/iio/trigger/iio-trig-bfin-timer.c @@ -106,11 +106,9 @@ static ssize_t iio_bfin_tmr_frequency_show(struct device *dev, static DEVICE_ATTR(frequency, S_IRUGO | S_IWUSR, iio_bfin_tmr_frequency_show, iio_bfin_tmr_frequency_store); -static IIO_TRIGGER_NAME_ATTR; static struct attribute *iio_bfin_tmr_trigger_attrs[] = { &dev_attr_frequency.attr, - &dev_attr_name.attr, NULL, }; @@ -118,6 +116,11 @@ static const struct attribute_group iio_bfin_tmr_trigger_attr_group = { .attrs = iio_bfin_tmr_trigger_attrs, }; +static const struct attribute_group *iio_bfin_tmr_trigger_attr_groups[] = { + &iio_bfin_tmr_trigger_attr_group, + NULL +}; + static irqreturn_t iio_bfin_tmr_trigger_isr(int irq, void *devid) { @@ -165,24 +168,18 @@ static int __devinit iio_bfin_tmr_trigger_probe(struct platform_device *pdev) st->timer_num = ret; st->t = &iio_bfin_timer_code[st->timer_num]; - st->trig = iio_allocate_trigger(); + st->trig = iio_allocate_trigger("bfintmr%d", st->timer_num); if (!st->trig) { ret = -ENOMEM; goto out1; } st->trig->private_data = st; - st->trig->control_attrs = &iio_bfin_tmr_trigger_attr_group; st->trig->owner = THIS_MODULE; - st->trig->name = kasprintf(GFP_KERNEL, "bfintmr%d", st->timer_num); - if (st->trig->name == NULL) { - ret = -ENOMEM; - goto out2; - } - + st->trig->dev.groups = iio_bfin_tmr_trigger_attr_groups; ret = iio_trigger_register(st->trig); if (ret) - goto out3; + goto out2; ret = request_irq(st->irq, iio_bfin_tmr_trigger_isr, 0, st->trig->name, st); @@ -201,8 +198,6 @@ static int __devinit iio_bfin_tmr_trigger_probe(struct platform_device *pdev) return 0; out4: iio_trigger_unregister(st->trig); -out3: - kfree(st->trig->name); out2: iio_put_trigger(st->trig); out1: @@ -218,7 +213,6 @@ static int __devexit iio_bfin_tmr_trigger_remove(struct platform_device *pdev) disable_gptimers(st->t->bit); free_irq(st->irq, st); iio_trigger_unregister(st->trig); - kfree(st->trig->name); iio_put_trigger(st->trig); kfree(st); |