mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	char: rtc: remove unused rtc_control() API
Since commit 34ce71a96d ("ALSA: timer: remove legacy rtctimer"), the
rtc_register/rtc_control/rtc_unregister API is unused. As it is highly
unlikely to be needed again, remove it.
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
			
			
This commit is contained in:
		
							parent
							
								
									588519ff16
								
							
						
					
					
						commit
						9e7002a70e
					
				
					 2 changed files with 0 additions and 87 deletions
				
			
		| 
						 | 
					@ -809,89 +809,6 @@ static __poll_t rtc_poll(struct file *file, poll_table *wait)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int rtc_register(rtc_task_t *task)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#ifndef RTC_IRQ
 | 
					 | 
				
			||||||
	return -EIO;
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	if (task == NULL || task->func == NULL)
 | 
					 | 
				
			||||||
		return -EINVAL;
 | 
					 | 
				
			||||||
	spin_lock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
	if (rtc_status & RTC_IS_OPEN) {
 | 
					 | 
				
			||||||
		spin_unlock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
		return -EBUSY;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	spin_lock(&rtc_task_lock);
 | 
					 | 
				
			||||||
	if (rtc_callback) {
 | 
					 | 
				
			||||||
		spin_unlock(&rtc_task_lock);
 | 
					 | 
				
			||||||
		spin_unlock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
		return -EBUSY;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	rtc_status |= RTC_IS_OPEN;
 | 
					 | 
				
			||||||
	rtc_callback = task;
 | 
					 | 
				
			||||||
	spin_unlock(&rtc_task_lock);
 | 
					 | 
				
			||||||
	spin_unlock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
	return 0;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
EXPORT_SYMBOL(rtc_register);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int rtc_unregister(rtc_task_t *task)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#ifndef RTC_IRQ
 | 
					 | 
				
			||||||
	return -EIO;
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	unsigned char tmp;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	spin_lock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
	spin_lock(&rtc_task_lock);
 | 
					 | 
				
			||||||
	if (rtc_callback != task) {
 | 
					 | 
				
			||||||
		spin_unlock(&rtc_task_lock);
 | 
					 | 
				
			||||||
		spin_unlock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
		return -ENXIO;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	rtc_callback = NULL;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* disable controls */
 | 
					 | 
				
			||||||
	if (!hpet_mask_rtc_irq_bit(RTC_PIE | RTC_AIE | RTC_UIE)) {
 | 
					 | 
				
			||||||
		tmp = CMOS_READ(RTC_CONTROL);
 | 
					 | 
				
			||||||
		tmp &= ~RTC_PIE;
 | 
					 | 
				
			||||||
		tmp &= ~RTC_AIE;
 | 
					 | 
				
			||||||
		tmp &= ~RTC_UIE;
 | 
					 | 
				
			||||||
		CMOS_WRITE(tmp, RTC_CONTROL);
 | 
					 | 
				
			||||||
		CMOS_READ(RTC_INTR_FLAGS);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if (rtc_status & RTC_TIMER_ON) {
 | 
					 | 
				
			||||||
		rtc_status &= ~RTC_TIMER_ON;
 | 
					 | 
				
			||||||
		del_timer(&rtc_irq_timer);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	rtc_status &= ~RTC_IS_OPEN;
 | 
					 | 
				
			||||||
	spin_unlock(&rtc_task_lock);
 | 
					 | 
				
			||||||
	spin_unlock_irq(&rtc_lock);
 | 
					 | 
				
			||||||
	return 0;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
EXPORT_SYMBOL(rtc_unregister);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int rtc_control(rtc_task_t *task, unsigned int cmd, unsigned long arg)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
#ifndef RTC_IRQ
 | 
					 | 
				
			||||||
	return -EIO;
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	unsigned long flags;
 | 
					 | 
				
			||||||
	if (cmd != RTC_PIE_ON && cmd != RTC_PIE_OFF && cmd != RTC_IRQP_SET)
 | 
					 | 
				
			||||||
		return -EINVAL;
 | 
					 | 
				
			||||||
	spin_lock_irqsave(&rtc_task_lock, flags);
 | 
					 | 
				
			||||||
	if (rtc_callback != task) {
 | 
					 | 
				
			||||||
		spin_unlock_irqrestore(&rtc_task_lock, flags);
 | 
					 | 
				
			||||||
		return -ENXIO;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	spin_unlock_irqrestore(&rtc_task_lock, flags);
 | 
					 | 
				
			||||||
	return rtc_do_ioctl(cmd, arg, 1);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
EXPORT_SYMBOL(rtc_control);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 *	The various file operations we support.
 | 
					 *	The various file operations we support.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -211,10 +211,6 @@ void rtc_aie_update_irq(void *private);
 | 
				
			||||||
void rtc_uie_update_irq(void *private);
 | 
					void rtc_uie_update_irq(void *private);
 | 
				
			||||||
enum hrtimer_restart rtc_pie_update_irq(struct hrtimer *timer);
 | 
					enum hrtimer_restart rtc_pie_update_irq(struct hrtimer *timer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int rtc_register(rtc_task_t *task);
 | 
					 | 
				
			||||||
int rtc_unregister(rtc_task_t *task);
 | 
					 | 
				
			||||||
int rtc_control(rtc_task_t *t, unsigned int cmd, unsigned long arg);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void rtc_timer_init(struct rtc_timer *timer, void (*f)(void *p), void *data);
 | 
					void rtc_timer_init(struct rtc_timer *timer, void (*f)(void *p), void *data);
 | 
				
			||||||
int rtc_timer_start(struct rtc_device *rtc, struct rtc_timer *timer,
 | 
					int rtc_timer_start(struct rtc_device *rtc, struct rtc_timer *timer,
 | 
				
			||||||
		    ktime_t expires, ktime_t period);
 | 
							    ktime_t expires, ktime_t period);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue