Lines Matching +full:clock +full:- +full:name
15 * A clock source registers using mISDN_register_clock:
16 * name = text string to name clock source
17 * priority = value to priorize clock sources (0 = default)
18 * ctl = callback function to enable/disable clock source
19 * priv = private pointer of clock source
20 * return = pointer to clock source structure;
25 * A clock source calls mISDN_clock_update with given samples elapsed, if
29 * A clock source unregisters using mISDN_unregister_clock.
31 * To get current clock, call mISDN_clock_get. The signed short value
32 * counts the number of samples since. Time since last clock event is added.
48 static u16 iclock_count; /* counter of last clock */
49 static ktime_t iclock_timestamp; /* time stamp of last clock */
64 int pri = -128; in select_iclock()
67 if (iclock->pri > pri) { in select_iclock()
68 pri = iclock->pri; in select_iclock()
75 /* last used clock source still exists but changes, disable */ in select_iclock()
77 printk(KERN_DEBUG "Old clock source '%s' disable.\n", in select_iclock()
78 lastclock->name); in select_iclock()
79 lastclock->ctl(lastclock->priv, 0); in select_iclock()
82 /* new clock source selected, enable */ in select_iclock()
84 printk(KERN_DEBUG "New clock source '%s' enable.\n", in select_iclock()
85 bestclock->name); in select_iclock()
86 bestclock->ctl(bestclock->priv, 1); in select_iclock()
89 /* no clock received yet */ in select_iclock()
96 *mISDN_register_clock(char *name, int pri, clockctl_func_t *ctl, void *priv) in mISDN_register_clock() argument
102 printk(KERN_DEBUG "%s: %s %d\n", __func__, name, pri); in mISDN_register_clock()
105 printk(KERN_ERR "%s: No memory for clock entry.\n", __func__); in mISDN_register_clock()
108 strncpy(iclock->name, name, sizeof(iclock->name) - 1); in mISDN_register_clock()
109 iclock->pri = pri; in mISDN_register_clock()
110 iclock->priv = priv; in mISDN_register_clock()
111 iclock->ctl = ctl; in mISDN_register_clock()
113 list_add_tail(&iclock->list, &iclock_list); in mISDN_register_clock()
126 printk(KERN_DEBUG "%s: %s %d\n", __func__, iclock->name, in mISDN_unregister_clock()
127 iclock->pri); in mISDN_unregister_clock()
132 "Current clock source '%s' unregisters.\n", in mISDN_unregister_clock()
133 iclock->name); in mISDN_unregister_clock()
134 iclock->ctl(iclock->priv, 0); in mISDN_unregister_clock()
136 list_del(&iclock->list); in mISDN_unregister_clock()
151 printk(KERN_ERR "%s: '%s' sends us clock updates, but we do " in mISDN_clock_update()
153 iclock->name, in mISDN_clock_update()
154 iclock_current ? iclock_current->name : "nothing"); in mISDN_clock_update()
155 iclock->ctl(iclock->priv, 0); in mISDN_clock_update()
168 /* calc elapsed time by system clock */ in mISDN_clock_update()
181 printk("Received first clock from source '%s'.\n", in mISDN_clock_update()
182 iclock_current ? iclock_current->name : "nothing"); in mISDN_clock_update()
197 /* calc elapsed time by system clock */ in mISDN_clock_get()