mirror of https://gitee.com/openkylin/linux.git
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: Alexander Gordeev <lasaine@lvk.cs.msu.su> Cc: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
46b402a0e5
commit
563558b2c7
|
@ -2,16 +2,12 @@
|
|||
# PPS generators configuration
|
||||
#
|
||||
|
||||
if PPS
|
||||
|
||||
comment "PPS generators support"
|
||||
|
||||
config PPS_GENERATOR_PARPORT
|
||||
tristate "Parallel port PPS signal generator"
|
||||
depends on PARPORT != n && GENERIC_TIME
|
||||
depends on PARPORT
|
||||
help
|
||||
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
|
||||
parport abstraction layer and hrtimers to precisely control the signal.
|
||||
|
||||
endif
|
||||
|
|
|
@ -76,8 +76,15 @@ static enum hrtimer_restart hrtimer_event(struct hrtimer *timer)
|
|||
long lim, delta;
|
||||
unsigned long flags;
|
||||
|
||||
/* NB: approx time with blocked interrupts =
|
||||
send_delay + 3 * SAFETY_INTERVAL */
|
||||
/* We have to disable interrupts here. The idea is to prevent
|
||||
* 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);
|
||||
|
||||
/* first of all we get the time stamp... */
|
||||
|
|
Loading…
Reference in New Issue