• Home
  • Raw
  • Download

Lines Matching refs:mtx1_wdt_device

60 } mtx1_wdt_device;  variable
64 spin_lock(&mtx1_wdt_device.lock); in mtx1_wdt_trigger()
65 if (mtx1_wdt_device.running) in mtx1_wdt_trigger()
69 mtx1_wdt_device.gstate = !mtx1_wdt_device.gstate; in mtx1_wdt_trigger()
70 gpiod_set_value(mtx1_wdt_device.gpiod, mtx1_wdt_device.gstate); in mtx1_wdt_trigger()
72 if (mtx1_wdt_device.queue && ticks) in mtx1_wdt_trigger()
73 mod_timer(&mtx1_wdt_device.timer, jiffies + MTX1_WDT_INTERVAL); in mtx1_wdt_trigger()
75 complete(&mtx1_wdt_device.stop); in mtx1_wdt_trigger()
76 spin_unlock(&mtx1_wdt_device.lock); in mtx1_wdt_trigger()
81 ticks = mtx1_wdt_device.default_ticks; in mtx1_wdt_reset()
89 spin_lock_irqsave(&mtx1_wdt_device.lock, flags); in mtx1_wdt_start()
90 if (!mtx1_wdt_device.queue) { in mtx1_wdt_start()
91 mtx1_wdt_device.queue = 1; in mtx1_wdt_start()
92 mtx1_wdt_device.gstate = 1; in mtx1_wdt_start()
93 gpiod_set_value(mtx1_wdt_device.gpiod, 1); in mtx1_wdt_start()
94 mod_timer(&mtx1_wdt_device.timer, jiffies + MTX1_WDT_INTERVAL); in mtx1_wdt_start()
96 mtx1_wdt_device.running++; in mtx1_wdt_start()
97 spin_unlock_irqrestore(&mtx1_wdt_device.lock, flags); in mtx1_wdt_start()
104 spin_lock_irqsave(&mtx1_wdt_device.lock, flags); in mtx1_wdt_stop()
105 if (mtx1_wdt_device.queue) { in mtx1_wdt_stop()
106 mtx1_wdt_device.queue = 0; in mtx1_wdt_stop()
107 mtx1_wdt_device.gstate = 0; in mtx1_wdt_stop()
108 gpiod_set_value(mtx1_wdt_device.gpiod, 0); in mtx1_wdt_stop()
110 ticks = mtx1_wdt_device.default_ticks; in mtx1_wdt_stop()
111 spin_unlock_irqrestore(&mtx1_wdt_device.lock, flags); in mtx1_wdt_stop()
119 if (test_and_set_bit(0, &mtx1_wdt_device.inuse)) in mtx1_wdt_open()
127 clear_bit(0, &mtx1_wdt_device.inuse); in mtx1_wdt_release()
202 mtx1_wdt_device.gpiod = devm_gpiod_get(&pdev->dev, in mtx1_wdt_probe()
204 if (IS_ERR(mtx1_wdt_device.gpiod)) { in mtx1_wdt_probe()
206 return PTR_ERR(mtx1_wdt_device.gpiod); in mtx1_wdt_probe()
209 spin_lock_init(&mtx1_wdt_device.lock); in mtx1_wdt_probe()
210 init_completion(&mtx1_wdt_device.stop); in mtx1_wdt_probe()
211 mtx1_wdt_device.queue = 0; in mtx1_wdt_probe()
212 clear_bit(0, &mtx1_wdt_device.inuse); in mtx1_wdt_probe()
213 timer_setup(&mtx1_wdt_device.timer, mtx1_wdt_trigger, 0); in mtx1_wdt_probe()
214 mtx1_wdt_device.default_ticks = ticks; in mtx1_wdt_probe()
229 if (mtx1_wdt_device.queue) { in mtx1_wdt_remove()
230 mtx1_wdt_device.queue = 0; in mtx1_wdt_remove()
231 wait_for_completion(&mtx1_wdt_device.stop); in mtx1_wdt_remove()