|
@@ -25,7 +25,6 @@ static DEFINE_MUTEX(iio_prtc_trigger_list_lock);
|
|
|
struct iio_prtc_trigger_info {
|
|
|
struct rtc_device *rtc;
|
|
|
int frequency;
|
|
|
- char *name;
|
|
|
struct rtc_task task;
|
|
|
};
|
|
|
|
|
@@ -78,8 +77,7 @@ static ssize_t iio_trig_periodic_read_name(struct device *dev,
|
|
|
char *buf)
|
|
|
{
|
|
|
struct iio_trigger *trig = dev_get_drvdata(dev);
|
|
|
- struct iio_prtc_trigger_info *trig_info = trig->private_data;
|
|
|
- return sprintf(buf, "%s\n", trig_info->name);
|
|
|
+ return sprintf(buf, "%s\n", trig->name);
|
|
|
}
|
|
|
|
|
|
static DEVICE_ATTR(name, S_IRUGO,
|
|
@@ -129,16 +127,12 @@ static int iio_trig_periodic_rtc_probe(struct platform_device *dev)
|
|
|
trig->private_data = trig_info;
|
|
|
trig->owner = THIS_MODULE;
|
|
|
trig->set_trigger_state = &iio_trig_periodic_rtc_set_state;
|
|
|
- trig->name = kmalloc(IIO_TRIGGER_NAME_LENGTH, GFP_KERNEL);
|
|
|
+ trig->name = kasprintf(GFP_KERNEL, "periodic%s", pdata[i]);
|
|
|
if (trig->name == NULL) {
|
|
|
ret = -ENOMEM;
|
|
|
goto error_free_trig_info;
|
|
|
}
|
|
|
- snprintf((char *)trig->name,
|
|
|
- IIO_TRIGGER_NAME_LENGTH,
|
|
|
- "periodic%s",
|
|
|
- pdata[i]);
|
|
|
- trig_info->name = (char *)trig->name;
|
|
|
+
|
|
|
/* RTC access */
|
|
|
trig_info->rtc
|
|
|
= rtc_class_open(pdata[i]);
|