2121 */
2222
2323/* state variables to bind kernel consumer */
24- static DEFINE_SPINLOCK (pps_kc_hardpps_lock );
24+ static DEFINE_RAW_SPINLOCK (pps_kc_hardpps_lock );
2525/* PPS API (RFC 2783): current source and mode for kernel consumer */
2626static struct pps_device * pps_kc_hardpps_dev ; /* unique pointer to device */
2727static int pps_kc_hardpps_mode ; /* mode bits for kernel consumer */
@@ -36,17 +36,17 @@ static int pps_kc_hardpps_mode; /* mode bits for kernel consumer */
3636int pps_kc_bind (struct pps_device * pps , struct pps_bind_args * bind_args )
3737{
3838 /* Check if another consumer is already bound */
39- spin_lock_irq (& pps_kc_hardpps_lock );
39+ raw_spin_lock_irq (& pps_kc_hardpps_lock );
4040
4141 if (bind_args -> edge == 0 )
4242 if (pps_kc_hardpps_dev == pps ) {
4343 pps_kc_hardpps_mode = 0 ;
4444 pps_kc_hardpps_dev = NULL ;
45- spin_unlock_irq (& pps_kc_hardpps_lock );
45+ raw_spin_unlock_irq (& pps_kc_hardpps_lock );
4646 dev_info (& pps -> dev , "unbound kernel"
4747 " consumer\n" );
4848 } else {
49- spin_unlock_irq (& pps_kc_hardpps_lock );
49+ raw_spin_unlock_irq (& pps_kc_hardpps_lock );
5050 dev_err (& pps -> dev , "selected kernel consumer"
5151 " is not bound\n" );
5252 return - EINVAL ;
@@ -56,11 +56,11 @@ int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args)
5656 pps_kc_hardpps_dev == pps ) {
5757 pps_kc_hardpps_mode = bind_args -> edge ;
5858 pps_kc_hardpps_dev = pps ;
59- spin_unlock_irq (& pps_kc_hardpps_lock );
59+ raw_spin_unlock_irq (& pps_kc_hardpps_lock );
6060 dev_info (& pps -> dev , "bound kernel consumer: "
6161 "edge=0x%x\n" , bind_args -> edge );
6262 } else {
63- spin_unlock_irq (& pps_kc_hardpps_lock );
63+ raw_spin_unlock_irq (& pps_kc_hardpps_lock );
6464 dev_err (& pps -> dev , "another kernel consumer"
6565 " is already bound\n" );
6666 return - EINVAL ;
@@ -78,15 +78,15 @@ int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args)
7878 */
7979void pps_kc_remove (struct pps_device * pps )
8080{
81- spin_lock_irq (& pps_kc_hardpps_lock );
81+ raw_spin_lock_irq (& pps_kc_hardpps_lock );
8282 if (pps == pps_kc_hardpps_dev ) {
8383 pps_kc_hardpps_mode = 0 ;
8484 pps_kc_hardpps_dev = NULL ;
85- spin_unlock_irq (& pps_kc_hardpps_lock );
85+ raw_spin_unlock_irq (& pps_kc_hardpps_lock );
8686 dev_info (& pps -> dev , "unbound kernel consumer"
8787 " on device removal\n" );
8888 } else
89- spin_unlock_irq (& pps_kc_hardpps_lock );
89+ raw_spin_unlock_irq (& pps_kc_hardpps_lock );
9090}
9191
9292/* pps_kc_event - call hardpps() on PPS event
@@ -102,8 +102,8 @@ void pps_kc_event(struct pps_device *pps, struct pps_event_time *ts,
102102 unsigned long flags ;
103103
104104 /* Pass some events to kernel consumer if activated */
105- spin_lock_irqsave (& pps_kc_hardpps_lock , flags );
105+ raw_spin_lock_irqsave (& pps_kc_hardpps_lock , flags );
106106 if (pps == pps_kc_hardpps_dev && event & pps_kc_hardpps_mode )
107107 hardpps (& ts -> ts_real , & ts -> ts_raw );
108- spin_unlock_irqrestore (& pps_kc_hardpps_lock , flags );
108+ raw_spin_unlock_irqrestore (& pps_kc_hardpps_lock , flags );
109109}
0 commit comments