Lines Matching refs:trig_info
112 struct iio_hrtimer_info *trig_info;
114 trig_info = iio_trigger_get_drvdata(trig);
117 hrtimer_start(&trig_info->timer, trig_info->period,
120 hrtimer_cancel(&trig_info->timer);
131 struct iio_hrtimer_info *trig_info;
134 trig_info = kzalloc(sizeof(*trig_info), GFP_KERNEL);
135 if (!trig_info)
138 trig_info->swt.trigger = iio_trigger_alloc(NULL, "%s", name);
139 if (!trig_info->swt.trigger) {
144 iio_trigger_set_drvdata(trig_info->swt.trigger, trig_info);
145 trig_info->swt.trigger->ops = &iio_hrtimer_trigger_ops;
146 trig_info->swt.trigger->dev.groups = iio_hrtimer_attr_groups;
148 hrtimer_init(&trig_info->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);
149 trig_info->timer.function = iio_hrtimer_trig_handler;
151 trig_info->sampling_frequency[0] = HRTIMER_DEFAULT_SAMPLING_FREQUENCY;
152 trig_info->period = NSEC_PER_SEC / trig_info->sampling_frequency[0];
154 ret = iio_trigger_register(trig_info->swt.trigger);
158 iio_swt_group_init_type_name(&trig_info->swt, name, &iio_hrtimer_type);
159 return &trig_info->swt;
161 iio_trigger_free(trig_info->swt.trigger);
163 kfree(trig_info);
170 struct iio_hrtimer_info *trig_info;
172 trig_info = iio_trigger_get_drvdata(swt->trigger);
177 hrtimer_cancel(&trig_info->timer);
179 kfree(trig_info);