aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/rtc.h
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2007-05-08 03:33:30 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:15:18 -0400
commitab6a2d70d18edc7a716ef3127b9e13382faec98c (patch)
tree6de624dfcbd0181e54e21f1730d2a52ae9822c47 /include/linux/rtc.h
parent5726fb2012f0d96153113ddb7f988a0daea587ce (diff)
rtc: rtc interfaces don't use class_device
This patch removes class_device from the programming interface that the RTC framework exposes to the rest of the kernel. Now an rtc_device is passed, which is more type-safe and streamlines all the relevant code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Acked-By: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/rtc.h')
-rw-r--r--include/linux/rtc.h33
1 files changed, 16 insertions, 17 deletions
diff --git a/include/linux/rtc.h b/include/linux/rtc.h
index f662ae1aa621..73ccd8fcc0c7 100644
--- a/include/linux/rtc.h
+++ b/include/linux/rtc.h
@@ -4,7 +4,7 @@
4 * service. It is used with both the legacy mc146818 and also EFI 4 * service. It is used with both the legacy mc146818 and also EFI
5 * Struct rtc_time and first 12 ioctl by Paul Gortmaker, 1996 - separated out 5 * Struct rtc_time and first 12 ioctl by Paul Gortmaker, 1996 - separated out
6 * from <linux/mc146818rtc.h> to this file for 2.4 kernels. 6 * from <linux/mc146818rtc.h> to this file for 2.4 kernels.
7 * 7 *
8 * Copyright (C) 1999 Hewlett-Packard Co. 8 * Copyright (C) 1999 Hewlett-Packard Co.
9 * Copyright (C) 1999 Stephane Eranian <eranian@hpl.hp.com> 9 * Copyright (C) 1999 Stephane Eranian <eranian@hpl.hp.com>
10 */ 10 */
@@ -13,7 +13,7 @@
13 13
14/* 14/*
15 * The struct used to pass data via the following ioctl. Similar to the 15 * The struct used to pass data via the following ioctl. Similar to the
16 * struct tm in <time.h>, but it needs to be here so that the kernel 16 * struct tm in <time.h>, but it needs to be here so that the kernel
17 * source is self contained, allowing cross-compiles, etc. etc. 17 * source is self contained, allowing cross-compiles, etc. etc.
18 */ 18 */
19 19
@@ -50,7 +50,7 @@ struct rtc_wkalrm {
50 * pll_value*pll_posmult/pll_clock 50 * pll_value*pll_posmult/pll_clock
51 * -ve pll_value means clock will run slower by 51 * -ve pll_value means clock will run slower by
52 * pll_value*pll_negmult/pll_clock 52 * pll_value*pll_negmult/pll_clock
53 */ 53 */
54 54
55struct rtc_pll_info { 55struct rtc_pll_info {
56 int pll_ctrl; /* placeholder for fancier control */ 56 int pll_ctrl; /* placeholder for fancier control */
@@ -174,29 +174,28 @@ extern struct rtc_device *rtc_device_register(const char *name,
174 struct device *dev, 174 struct device *dev,
175 const struct rtc_class_ops *ops, 175 const struct rtc_class_ops *ops,
176 struct module *owner); 176 struct module *owner);
177extern void rtc_device_unregister(struct rtc_device *rdev); 177extern void rtc_device_unregister(struct rtc_device *rtc);
178extern int rtc_interface_register(struct class_interface *intf);
179 178
180extern int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm); 179extern int rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm);
181extern int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm); 180extern int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm);
182extern int rtc_set_mmss(struct class_device *class_dev, unsigned long secs); 181extern int rtc_set_mmss(struct rtc_device *rtc, unsigned long secs);
183extern int rtc_read_alarm(struct class_device *class_dev, 182extern int rtc_read_alarm(struct rtc_device *rtc,
184 struct rtc_wkalrm *alrm); 183 struct rtc_wkalrm *alrm);
185extern int rtc_set_alarm(struct class_device *class_dev, 184extern int rtc_set_alarm(struct rtc_device *rtc,
186 struct rtc_wkalrm *alrm); 185 struct rtc_wkalrm *alrm);
187extern void rtc_update_irq(struct class_device *class_dev, 186extern void rtc_update_irq(struct rtc_device *rtc,
188 unsigned long num, unsigned long events); 187 unsigned long num, unsigned long events);
189 188
190extern struct class_device *rtc_class_open(char *name); 189extern struct rtc_device *rtc_class_open(char *name);
191extern void rtc_class_close(struct class_device *class_dev); 190extern void rtc_class_close(struct rtc_device *rtc);
192 191
193extern int rtc_irq_register(struct class_device *class_dev, 192extern int rtc_irq_register(struct rtc_device *rtc,
194 struct rtc_task *task); 193 struct rtc_task *task);
195extern void rtc_irq_unregister(struct class_device *class_dev, 194extern void rtc_irq_unregister(struct rtc_device *rtc,
196 struct rtc_task *task); 195 struct rtc_task *task);
197extern int rtc_irq_set_state(struct class_device *class_dev, 196extern int rtc_irq_set_state(struct rtc_device *rtc,
198 struct rtc_task *task, int enabled); 197 struct rtc_task *task, int enabled);
199extern int rtc_irq_set_freq(struct class_device *class_dev, 198extern int rtc_irq_set_freq(struct rtc_device *rtc,
200 struct rtc_task *task, int freq); 199 struct rtc_task *task, int freq);
201 200
202typedef struct rtc_task { 201typedef struct rtc_task {