提交 563558b2 编写于 作者: A Alexander Gordeev 提交者: Linus Torvalds

pps: add parallel port PPS signal generator

Add PPS signal generator which utilizes STROBE pin of a parallel port to
send PPS signals.  It uses parport abstraction layer and hrtimers to
precisely control the signal.
Signed-off-by: NAlexander Gordeev <lasaine@lvk.cs.msu.su>
Cc: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 46b402a0
...@@ -2,16 +2,12 @@ ...@@ -2,16 +2,12 @@
# PPS generators configuration # PPS generators configuration
# #
if PPS
comment "PPS generators support" comment "PPS generators support"
config PPS_GENERATOR_PARPORT config PPS_GENERATOR_PARPORT
tristate "Parallel port PPS signal generator" tristate "Parallel port PPS signal generator"
depends on PARPORT != n && GENERIC_TIME depends on PARPORT
help help
If you say yes here you get support for a PPS signal generator which If you say yes here you get support for a PPS signal generator which
utilizes STROBE pin of a parallel port to send PPS signals. It uses utilizes STROBE pin of a parallel port to send PPS signals. It uses
parport abstraction layer and hrtimers to precisely control the signal. parport abstraction layer and hrtimers to precisely control the signal.
endif
...@@ -76,8 +76,15 @@ static enum hrtimer_restart hrtimer_event(struct hrtimer *timer) ...@@ -76,8 +76,15 @@ static enum hrtimer_restart hrtimer_event(struct hrtimer *timer)
long lim, delta; long lim, delta;
unsigned long flags; unsigned long flags;
/* NB: approx time with blocked interrupts = /* We have to disable interrupts here. The idea is to prevent
send_delay + 3 * SAFETY_INTERVAL */ * other interrupts on the same processor to introduce random
* lags while polling the clock. getnstimeofday() takes <1us on
* most machines while other interrupt handlers can take much
* more potentially.
*
* NB: approx time with blocked interrupts =
* send_delay + 3 * SAFETY_INTERVAL
*/
local_irq_save(flags); local_irq_save(flags);
/* first of all we get the time stamp... */ /* first of all we get the time stamp... */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册