17 #include <linux/module.h>
19 #include <linux/slab.h>
20 #include <linux/hrtimer.h>
51 if (hrtimer_active(&data->
timer)) {
53 struct timeval t = ktime_to_timeval(r);
76 ktime_set(value / 1000, (value % 1000) * 1000000),
80 spin_unlock_irqrestore(&data->
lock, flags);
99 cur_gpio = &pdata->
gpios[
i];
100 gpio_dat = &gpio_data[
i];
104 gpio_dat->
timer.function = gpio_timer_func;
107 gpio_dat->
dev.name = cur_gpio->
name;
108 gpio_dat->
dev.get_time = gpio_get_time;
109 gpio_dat->
dev.enable = gpio_enable;
125 platform_set_drvdata(pdev, gpio_data);
156 .probe = timed_gpio_probe,
157 .remove = timed_gpio_remove,