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>
This commit is contained in:
committed by
Linus Torvalds
parent
5726fb2012
commit
ab6a2d70d1
@ -4,7 +4,7 @@
|
||||
* service. It is used with both the legacy mc146818 and also EFI
|
||||
* Struct rtc_time and first 12 ioctl by Paul Gortmaker, 1996 - separated out
|
||||
* from <linux/mc146818rtc.h> to this file for 2.4 kernels.
|
||||
*
|
||||
*
|
||||
* Copyright (C) 1999 Hewlett-Packard Co.
|
||||
* Copyright (C) 1999 Stephane Eranian <eranian@hpl.hp.com>
|
||||
*/
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
/*
|
||||
* The struct used to pass data via the following ioctl. Similar to the
|
||||
* struct tm in <time.h>, but it needs to be here so that the kernel
|
||||
* struct tm in <time.h>, but it needs to be here so that the kernel
|
||||
* source is self contained, allowing cross-compiles, etc. etc.
|
||||
*/
|
||||
|
||||
@ -50,7 +50,7 @@ struct rtc_wkalrm {
|
||||
* pll_value*pll_posmult/pll_clock
|
||||
* -ve pll_value means clock will run slower by
|
||||
* pll_value*pll_negmult/pll_clock
|
||||
*/
|
||||
*/
|
||||
|
||||
struct rtc_pll_info {
|
||||
int pll_ctrl; /* placeholder for fancier control */
|
||||
@ -174,29 +174,28 @@ extern struct rtc_device *rtc_device_register(const char *name,
|
||||
struct device *dev,
|
||||
const struct rtc_class_ops *ops,
|
||||
struct module *owner);
|
||||
extern void rtc_device_unregister(struct rtc_device *rdev);
|
||||
extern int rtc_interface_register(struct class_interface *intf);
|
||||
extern void rtc_device_unregister(struct rtc_device *rtc);
|
||||
|
||||
extern int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm);
|
||||
extern int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm);
|
||||
extern int rtc_set_mmss(struct class_device *class_dev, unsigned long secs);
|
||||
extern int rtc_read_alarm(struct class_device *class_dev,
|
||||
extern int rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm);
|
||||
extern int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm);
|
||||
extern int rtc_set_mmss(struct rtc_device *rtc, unsigned long secs);
|
||||
extern int rtc_read_alarm(struct rtc_device *rtc,
|
||||
struct rtc_wkalrm *alrm);
|
||||
extern int rtc_set_alarm(struct class_device *class_dev,
|
||||
extern int rtc_set_alarm(struct rtc_device *rtc,
|
||||
struct rtc_wkalrm *alrm);
|
||||
extern void rtc_update_irq(struct class_device *class_dev,
|
||||
extern void rtc_update_irq(struct rtc_device *rtc,
|
||||
unsigned long num, unsigned long events);
|
||||
|
||||
extern struct class_device *rtc_class_open(char *name);
|
||||
extern void rtc_class_close(struct class_device *class_dev);
|
||||
extern struct rtc_device *rtc_class_open(char *name);
|
||||
extern void rtc_class_close(struct rtc_device *rtc);
|
||||
|
||||
extern int rtc_irq_register(struct class_device *class_dev,
|
||||
extern int rtc_irq_register(struct rtc_device *rtc,
|
||||
struct rtc_task *task);
|
||||
extern void rtc_irq_unregister(struct class_device *class_dev,
|
||||
extern void rtc_irq_unregister(struct rtc_device *rtc,
|
||||
struct rtc_task *task);
|
||||
extern int rtc_irq_set_state(struct class_device *class_dev,
|
||||
extern int rtc_irq_set_state(struct rtc_device *rtc,
|
||||
struct rtc_task *task, int enabled);
|
||||
extern int rtc_irq_set_freq(struct class_device *class_dev,
|
||||
extern int rtc_irq_set_freq(struct rtc_device *rtc,
|
||||
struct rtc_task *task, int freq);
|
||||
|
||||
typedef struct rtc_task {
|
||||
|
Reference in New Issue
Block a user