char: rtc: remove unused rtc_control() API
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 6 Feb 2018 22:12:26 +0000 (23:12 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 1 Mar 2018 09:49:37 +0000 (10:49 +0100)
Since commit 34ce71a96dcb ("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>
drivers/char/rtc.c
include/linux/rtc.h

index 0c858d0..57dc546 100644 (file)
@@ -809,89 +809,6 @@ static __poll_t rtc_poll(struct file *file, poll_table *wait)
 }
 #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.
  */
index 37b041f..3b65b20 100644 (file)
@@ -211,10 +211,6 @@ void rtc_aie_update_irq(void *private);
 void rtc_uie_update_irq(void *private);
 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);
 int rtc_timer_start(struct rtc_device *rtc, struct rtc_timer *timer,
                    ktime_t expires, ktime_t period);