diff options
Diffstat (limited to 'drivers/rtc/rtc-sa1100.c')
| -rw-r--r-- | drivers/rtc/rtc-sa1100.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index a997529f8926..9cd1cb304bb2 100644 --- a/drivers/rtc/rtc-sa1100.c +++ b/drivers/rtc/rtc-sa1100.c | |||
| @@ -45,7 +45,7 @@ | |||
| 45 | 45 | ||
| 46 | static unsigned long rtc_freq = 1024; | 46 | static unsigned long rtc_freq = 1024; |
| 47 | static struct rtc_time rtc_alarm; | 47 | static struct rtc_time rtc_alarm; |
| 48 | static spinlock_t sa1100_rtc_lock = SPIN_LOCK_UNLOCKED; | 48 | static DEFINE_SPINLOCK(sa1100_rtc_lock); |
| 49 | 49 | ||
| 50 | static int rtc_update_alarm(struct rtc_time *alrm) | 50 | static int rtc_update_alarm(struct rtc_time *alrm) |
| 51 | { | 51 | { |
| @@ -229,8 +229,6 @@ static int sa1100_rtc_ioctl(struct device *dev, unsigned int cmd, | |||
| 229 | spin_unlock_irq(&sa1100_rtc_lock); | 229 | spin_unlock_irq(&sa1100_rtc_lock); |
| 230 | return 0; | 230 | return 0; |
| 231 | case RTC_PIE_ON: | 231 | case RTC_PIE_ON: |
| 232 | if ((rtc_freq > 64) && !capable(CAP_SYS_RESOURCE)) | ||
| 233 | return -EACCES; | ||
| 234 | spin_lock_irq(&sa1100_rtc_lock); | 232 | spin_lock_irq(&sa1100_rtc_lock); |
| 235 | OSMR1 = TIMER_FREQ/rtc_freq + OSCR; | 233 | OSMR1 = TIMER_FREQ/rtc_freq + OSCR; |
| 236 | OIER |= OIER_E1; | 234 | OIER |= OIER_E1; |
| @@ -242,8 +240,6 @@ static int sa1100_rtc_ioctl(struct device *dev, unsigned int cmd, | |||
| 242 | case RTC_IRQP_SET: | 240 | case RTC_IRQP_SET: |
| 243 | if (arg < 1 || arg > TIMER_FREQ) | 241 | if (arg < 1 || arg > TIMER_FREQ) |
| 244 | return -EINVAL; | 242 | return -EINVAL; |
| 245 | if ((arg > 64) && (!capable(CAP_SYS_RESOURCE))) | ||
| 246 | return -EACCES; | ||
| 247 | rtc_freq = arg; | 243 | rtc_freq = arg; |
| 248 | return 0; | 244 | return 0; |
| 249 | } | 245 | } |
