diff options
Diffstat (limited to 'drivers/pps/clients/pps-ktimer.c')
| -rw-r--r-- | drivers/pps/clients/pps-ktimer.c | 30 | 
1 files changed, 13 insertions, 17 deletions
diff --git a/drivers/pps/clients/pps-ktimer.c b/drivers/pps/clients/pps-ktimer.c index e1bdd8bc8c9..966ead188ee 100644 --- a/drivers/pps/clients/pps-ktimer.c +++ b/drivers/pps/clients/pps-ktimer.c @@ -31,7 +31,7 @@   * Global variables   */ -static int source; +static struct pps_device *pps;  static struct timer_list ktimer;  /* @@ -47,7 +47,7 @@ static void pps_ktimer_event(unsigned long ptr)  	pr_info("PPS event at %lu\n", jiffies); -	pps_event(source, &ts, PPS_CAPTUREASSERT, NULL); +	pps_event(pps, &ts, PPS_CAPTUREASSERT, NULL);  	mod_timer(&ktimer, jiffies + HZ);  } @@ -56,12 +56,11 @@ static void pps_ktimer_event(unsigned long ptr)   * The echo function   */ -static void pps_ktimer_echo(int source, int event, void *data) +static void pps_ktimer_echo(struct pps_device *pps, int event, void *data)  { -	pr_info("echo %s %s for source %d\n", +	dev_info(pps->dev, "echo %s %s\n",  		event & PPS_CAPTUREASSERT ? "assert" : "", -		event & PPS_CAPTURECLEAR ? "clear" : "", -		source); +		event & PPS_CAPTURECLEAR ? "clear" : "");  }  /* @@ -84,30 +83,27 @@ static struct pps_source_info pps_ktimer_info = {  static void __exit pps_ktimer_exit(void)  { -	del_timer_sync(&ktimer); -	pps_unregister_source(source); +	dev_info(pps->dev, "ktimer PPS source unregistered\n"); -	pr_info("ktimer PPS source unregistered\n"); +	del_timer_sync(&ktimer); +	pps_unregister_source(pps);  }  static int __init pps_ktimer_init(void)  { -	int ret; - -	ret = pps_register_source(&pps_ktimer_info, +	pps = pps_register_source(&pps_ktimer_info,  				PPS_CAPTUREASSERT | PPS_OFFSETASSERT); -	if (ret < 0) { +	if (pps == NULL) {  		printk(KERN_ERR "cannot register ktimer source\n"); -		return ret; +		return -ENOMEM;  	} -	source = ret;  	setup_timer(&ktimer, pps_ktimer_event, 0);  	mod_timer(&ktimer, jiffies + HZ); -	pr_info("ktimer PPS source registered at %d\n", source); +	dev_info(pps->dev, "ktimer PPS source registered\n"); -	return  0; +	return 0;  }  module_init(pps_ktimer_init);  |