Lines Matching refs:hte
10 #include <linux/hte.h>
29 * compatible = "nvidia,tegra194-hte-test";
34 * timestamp-names = "hte-gpio", "hte-i2c-irq";
59 } hte;
84 gpiod_set_value(hte.gpio_out, !gpiod_get_value(hte.gpio_out));
85 mod_timer(&hte.timer, jiffies + msecs_to_jiffies(8000));
97 { .compatible = "nvidia,tegra194-hte-test"},
107 dev_set_drvdata(&pdev->dev, &hte);
108 hte.pdev = &pdev->dev;
110 hte.gpio_out = gpiod_get(&pdev->dev, "out", 0);
111 if (IS_ERR(hte.gpio_out)) {
117 hte.gpio_in = gpiod_get(&pdev->dev, "in", 0);
118 if (IS_ERR(hte.gpio_in)) {
124 ret = gpiod_direction_output(hte.gpio_out, 0);
131 ret = gpiod_direction_input(hte.gpio_in);
138 ret = gpiod_to_irq(hte.gpio_in);
145 hte.gpio_in_irq = ret;
148 "tegra_hte_gpio_test_isr", &hte);
155 cnt = of_hte_req_count(hte.pdev);
163 hte.desc = devm_kzalloc(hte.pdev, sizeof(*hte.desc) * cnt, GFP_KERNEL);
164 if (!hte.desc) {
172 * GPIO hte init, line_id and name will be parsed from
177 hte_init_line_attr(&hte.desc[i], 0, 0, NULL,
178 hte.gpio_in);
184 hte_init_line_attr(&hte.desc[i], 0, 0, NULL, NULL);
186 ret = hte_ts_get(hte.pdev, &hte.desc[i], i);
190 ret = devm_hte_request_ts_ns(hte.pdev, &hte.desc[i],
192 &hte.desc[i]);
197 timer_setup(&hte.timer, gpio_timer_cb, 0);
198 mod_timer(&hte.timer, jiffies + msecs_to_jiffies(5000));
205 hte_ts_put(&hte.desc[i]);
207 free_irq(hte.gpio_in_irq, &hte);
209 gpiod_put(hte.gpio_in);
211 gpiod_put(hte.gpio_out);
221 free_irq(hte.gpio_in_irq, &hte);
222 gpiod_put(hte.gpio_in);
223 gpiod_put(hte.gpio_out);
224 del_timer_sync(&hte.timer);