Lines Matching full:pps
3 * PPS kernel consumer API
25 /* PPS API (RFC 2783): current source and mode for kernel consumer */
29 /* pps_kc_bind - control PPS kernel consumer binding
30 * @pps: the PPS source
33 * This function is used to bind or unbind PPS kernel consumer according to
36 int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args) in pps_kc_bind() argument
42 if (pps_kc_hardpps_dev == pps) { in pps_kc_bind()
46 dev_info(pps->dev, "unbound kernel" in pps_kc_bind()
50 dev_err(pps->dev, "selected kernel consumer" in pps_kc_bind()
56 pps_kc_hardpps_dev == pps) { in pps_kc_bind()
58 pps_kc_hardpps_dev = pps; in pps_kc_bind()
60 dev_info(pps->dev, "bound kernel consumer: " in pps_kc_bind()
64 dev_err(pps->dev, "another kernel consumer" in pps_kc_bind()
72 /* pps_kc_remove - unbind kernel consumer on PPS source removal
73 * @pps: the PPS source
75 * This function is used to disable kernel consumer on PPS source removal
76 * if this source was bound to PPS kernel consumer. Can be called on any
79 void pps_kc_remove(struct pps_device *pps) in pps_kc_remove() argument
82 if (pps == pps_kc_hardpps_dev) { in pps_kc_remove()
86 dev_info(pps->dev, "unbound kernel consumer" in pps_kc_remove()
92 /* pps_kc_event - call hardpps() on PPS event
93 * @pps: the PPS source
94 * @ts: PPS event timestamp
95 * @event: PPS event edge
97 * This function calls hardpps() when an event from bound PPS source occurs.
99 void pps_kc_event(struct pps_device *pps, struct pps_event_time *ts, in pps_kc_event() argument
106 if (pps == pps_kc_hardpps_dev && event & pps_kc_hardpps_mode) in pps_kc_event()