mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 2.6.19-rc6] rtc framework handles periodic irqs
@ 2006-11-17  7:12 David Brownell
  2006-11-19 23:50 ` Alessandro Zummo
  0 siblings, 1 reply; 2+ messages in thread
From: David Brownell @ 2006-11-17  7:12 UTC (permalink / raw)
  To: Alessandro Zummo, Linux Kernel list

The RTC framework has an irq_set_freq() method that should be used to
manage the periodic IRQ frequency, but the current ioctl logic doesn't
know how to do that.  This patch teaches it how.

This means that drivers implementing irq_set_freq() will automatically
support RTC_IRQP_{READ,SET} ioctls; that logic doesn't need duplication
within the driver.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

Index: g26/drivers/rtc/rtc-dev.c
===================================================================
--- g26.orig/drivers/rtc/rtc-dev.c	2006-11-12 12:24:31.000000000 -0800
+++ g26/drivers/rtc/rtc-dev.c	2006-11-12 15:37:17.000000000 -0800
@@ -214,7 +214,7 @@ static int rtc_dev_ioctl(struct inode *i
 	struct rtc_wkalrm alarm;
 	void __user *uarg = (void __user *) arg;
 
-	/* check that the calles has appropriate permissions
+	/* check that the calling task has appropriate permissions
 	 * for certain ioctls. doing this check here is useful
 	 * to avoid duplicate code in each driver.
 	 */
@@ -299,6 +299,17 @@ static int rtc_dev_ioctl(struct inode *i
 
 		err = rtc_set_time(class_dev, &tm);
 		break;
+
+	case RTC_IRQP_READ:
+		if (ops->irq_set_freq)
+			err = put_user(rtc->irq_freq, (unsigned long *) arg);
+		break;
+
+	case RTC_IRQP_SET:
+		if (ops->irq_set_freq)
+			err = rtc_irq_set_freq(class_dev, rtc->irq_task, arg);
+		break;
+
 #if 0
 	case RTC_EPOCH_SET:
 #ifndef rtc_epoch

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch 2.6.19-rc6] rtc framework handles periodic irqs
  2006-11-17  7:12 [patch 2.6.19-rc6] rtc framework handles periodic irqs David Brownell
@ 2006-11-19 23:50 ` Alessandro Zummo
  0 siblings, 0 replies; 2+ messages in thread
From: Alessandro Zummo @ 2006-11-19 23:50 UTC (permalink / raw)
  To: David Brownell; +Cc: Linux Kernel list, Andrew Morton

On Thu, 16 Nov 2006 23:12:09 -0800
David Brownell <david-b@pacbell.net> wrote:

> The RTC framework has an irq_set_freq() method that should be used to
> manage the periodic IRQ frequency, but the current ioctl logic doesn't
> know how to do that.  This patch teaches it how.
> 
> This means that drivers implementing irq_set_freq() will automatically
> support RTC_IRQP_{READ,SET} ioctls; that logic doesn't need duplication
> within the driver.
> 
> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>

 Acked-by: Alessandro Zummo <a.zummo@towertech.it>

-- 

 Best regards,

 Alessandro Zummo,
  Tower Technologies - Turin, Italy

  http://www.towertech.it


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-11-19 23:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-17  7:12 [patch 2.6.19-rc6] rtc framework handles periodic irqs David Brownell
2006-11-19 23:50 ` Alessandro Zummo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®