 cb3a58d2ac
			
		
	
	
	cb3a58d2ac
	
	
	
		
			
			Fix a goof in the revised classdev support for RTCs: make sure the /dev node info is ready before the device is registered, not after. Otherwise the /sys/class/rtc/rtcN/dev attribute won't be created and then udev won't have the information it needs to create the /dev/rtcN node. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifdef CONFIG_RTC_INTF_DEV
 | |
| 
 | |
| extern void __init rtc_dev_init(void);
 | |
| extern void __exit rtc_dev_exit(void);
 | |
| extern void rtc_dev_prepare(struct rtc_device *rtc);
 | |
| extern void rtc_dev_add_device(struct rtc_device *rtc);
 | |
| extern void rtc_dev_del_device(struct rtc_device *rtc);
 | |
| 
 | |
| #else
 | |
| 
 | |
| static inline void rtc_dev_init(void)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_dev_exit(void)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_dev_prepare(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_dev_add_device(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_dev_del_device(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_RTC_INTF_PROC
 | |
| 
 | |
| extern void rtc_proc_add_device(struct rtc_device *rtc);
 | |
| extern void rtc_proc_del_device(struct rtc_device *rtc);
 | |
| 
 | |
| #else
 | |
| 
 | |
| static inline void rtc_proc_add_device(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_proc_del_device(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_RTC_INTF_SYSFS
 | |
| 
 | |
| extern void __init rtc_sysfs_init(struct class *);
 | |
| extern void rtc_sysfs_add_device(struct rtc_device *rtc);
 | |
| extern void rtc_sysfs_del_device(struct rtc_device *rtc);
 | |
| 
 | |
| #else
 | |
| 
 | |
| static inline void rtc_sysfs_init(struct class *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_sysfs_add_device(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void rtc_sysfs_del_device(struct rtc_device *rtc)
 | |
| {
 | |
| }
 | |
| 
 | |
| #endif
 |