diff options
-rw-r--r-- | drivers/rtc/rtc-at91rm9200.c | 28 | ||||
-rw-r--r-- | drivers/rtc/rtc-at91sam9.c | 28 | ||||
-rw-r--r-- | drivers/rtc/rtc-bfin.c | 27 | ||||
-rw-r--r-- | drivers/rtc/rtc-davinci.c | 4 | ||||
-rw-r--r-- | drivers/rtc/rtc-omap.c | 39 | ||||
-rw-r--r-- | drivers/rtc/rtc-pl030.c | 6 | ||||
-rw-r--r-- | drivers/rtc/rtc-rs5c372.c | 52 | ||||
-rw-r--r-- | drivers/rtc/rtc-sa1100.c | 19 | ||||
-rw-r--r-- | drivers/rtc/rtc-sh.c | 22 |
9 files changed, 0 insertions, 225 deletions
diff --git a/drivers/rtc/rtc-at91rm9200.c b/drivers/rtc/rtc-at91rm9200.c index 26d1cf5d19ae..518a76ec71ca 100644 --- a/drivers/rtc/rtc-at91rm9200.c +++ b/drivers/rtc/rtc-at91rm9200.c | |||
@@ -183,33 +183,6 @@ static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
183 | return 0; | 183 | return 0; |
184 | } | 184 | } |
185 | 185 | ||
186 | /* | ||
187 | * Handle commands from user-space | ||
188 | */ | ||
189 | static int at91_rtc_ioctl(struct device *dev, unsigned int cmd, | ||
190 | unsigned long arg) | ||
191 | { | ||
192 | int ret = 0; | ||
193 | |||
194 | pr_debug("%s(): cmd=%08x, arg=%08lx.\n", __func__, cmd, arg); | ||
195 | |||
196 | /* important: scrub old status before enabling IRQs */ | ||
197 | switch (cmd) { | ||
198 | case RTC_UIE_OFF: /* update off */ | ||
199 | at91_sys_write(AT91_RTC_IDR, AT91_RTC_SECEV); | ||
200 | break; | ||
201 | case RTC_UIE_ON: /* update on */ | ||
202 | at91_sys_write(AT91_RTC_SCCR, AT91_RTC_SECEV); | ||
203 | at91_sys_write(AT91_RTC_IER, AT91_RTC_SECEV); | ||
204 | break; | ||
205 | default: | ||
206 | ret = -ENOIOCTLCMD; | ||
207 | break; | ||
208 | } | ||
209 | |||
210 | return ret; | ||
211 | } | ||
212 | |||
213 | static int at91_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 186 | static int at91_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
214 | { | 187 | { |
215 | pr_debug("%s(): cmd=%08x\n", __func__, enabled); | 188 | pr_debug("%s(): cmd=%08x\n", __func__, enabled); |
@@ -269,7 +242,6 @@ static irqreturn_t at91_rtc_interrupt(int irq, void *dev_id) | |||
269 | } | 242 | } |
270 | 243 | ||
271 | static const struct rtc_class_ops at91_rtc_ops = { | 244 | static const struct rtc_class_ops at91_rtc_ops = { |
272 | .ioctl = at91_rtc_ioctl, | ||
273 | .read_time = at91_rtc_readtime, | 245 | .read_time = at91_rtc_readtime, |
274 | .set_time = at91_rtc_settime, | 246 | .set_time = at91_rtc_settime, |
275 | .read_alarm = at91_rtc_readalarm, | 247 | .read_alarm = at91_rtc_readalarm, |
diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c index 5469c52cba3d..a3ad957507dc 100644 --- a/drivers/rtc/rtc-at91sam9.c +++ b/drivers/rtc/rtc-at91sam9.c | |||
@@ -216,33 +216,6 @@ static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm) | |||
216 | return 0; | 216 | return 0; |
217 | } | 217 | } |
218 | 218 | ||
219 | /* | ||
220 | * Handle commands from user-space | ||
221 | */ | ||
222 | static int at91_rtc_ioctl(struct device *dev, unsigned int cmd, | ||
223 | unsigned long arg) | ||
224 | { | ||
225 | struct sam9_rtc *rtc = dev_get_drvdata(dev); | ||
226 | int ret = 0; | ||
227 | u32 mr = rtt_readl(rtc, MR); | ||
228 | |||
229 | dev_dbg(dev, "ioctl: cmd=%08x, arg=%08lx, mr %08x\n", cmd, arg, mr); | ||
230 | |||
231 | switch (cmd) { | ||
232 | case RTC_UIE_OFF: /* update off */ | ||
233 | rtt_writel(rtc, MR, mr & ~AT91_RTT_RTTINCIEN); | ||
234 | break; | ||
235 | case RTC_UIE_ON: /* update on */ | ||
236 | rtt_writel(rtc, MR, mr | AT91_RTT_RTTINCIEN); | ||
237 | break; | ||
238 | default: | ||
239 | ret = -ENOIOCTLCMD; | ||
240 | break; | ||
241 | } | ||
242 | |||
243 | return ret; | ||
244 | } | ||
245 | |||
246 | static int at91_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 219 | static int at91_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
247 | { | 220 | { |
248 | struct sam9_rtc *rtc = dev_get_drvdata(dev); | 221 | struct sam9_rtc *rtc = dev_get_drvdata(dev); |
@@ -303,7 +276,6 @@ static irqreturn_t at91_rtc_interrupt(int irq, void *_rtc) | |||
303 | } | 276 | } |
304 | 277 | ||
305 | static const struct rtc_class_ops at91_rtc_ops = { | 278 | static const struct rtc_class_ops at91_rtc_ops = { |
306 | .ioctl = at91_rtc_ioctl, | ||
307 | .read_time = at91_rtc_readtime, | 279 | .read_time = at91_rtc_readtime, |
308 | .set_time = at91_rtc_settime, | 280 | .set_time = at91_rtc_settime, |
309 | .read_alarm = at91_rtc_readalarm, | 281 | .read_alarm = at91_rtc_readalarm, |
diff --git a/drivers/rtc/rtc-bfin.c b/drivers/rtc/rtc-bfin.c index 17971d93354d..ca9cff85ab8a 100644 --- a/drivers/rtc/rtc-bfin.c +++ b/drivers/rtc/rtc-bfin.c | |||
@@ -240,32 +240,6 @@ static void bfin_rtc_int_set_alarm(struct bfin_rtc *rtc) | |||
240 | */ | 240 | */ |
241 | bfin_rtc_int_set(rtc->rtc_alarm.tm_yday == -1 ? RTC_ISTAT_ALARM : RTC_ISTAT_ALARM_DAY); | 241 | bfin_rtc_int_set(rtc->rtc_alarm.tm_yday == -1 ? RTC_ISTAT_ALARM : RTC_ISTAT_ALARM_DAY); |
242 | } | 242 | } |
243 | static int bfin_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long arg) | ||
244 | { | ||
245 | struct bfin_rtc *rtc = dev_get_drvdata(dev); | ||
246 | int ret = 0; | ||
247 | |||
248 | dev_dbg_stamp(dev); | ||
249 | |||
250 | bfin_rtc_sync_pending(dev); | ||
251 | |||
252 | switch (cmd) { | ||
253 | case RTC_UIE_ON: | ||
254 | dev_dbg_stamp(dev); | ||
255 | bfin_rtc_int_set(RTC_ISTAT_SEC); | ||
256 | break; | ||
257 | case RTC_UIE_OFF: | ||
258 | dev_dbg_stamp(dev); | ||
259 | bfin_rtc_int_clear(~RTC_ISTAT_SEC); | ||
260 | break; | ||
261 | |||
262 | default: | ||
263 | dev_dbg_stamp(dev); | ||
264 | ret = -ENOIOCTLCMD; | ||
265 | } | ||
266 | |||
267 | return ret; | ||
268 | } | ||
269 | 243 | ||
270 | static int bfin_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 244 | static int bfin_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
271 | { | 245 | { |
@@ -358,7 +332,6 @@ static int bfin_rtc_proc(struct device *dev, struct seq_file *seq) | |||
358 | } | 332 | } |
359 | 333 | ||
360 | static struct rtc_class_ops bfin_rtc_ops = { | 334 | static struct rtc_class_ops bfin_rtc_ops = { |
361 | .ioctl = bfin_rtc_ioctl, | ||
362 | .read_time = bfin_rtc_read_time, | 335 | .read_time = bfin_rtc_read_time, |
363 | .set_time = bfin_rtc_set_time, | 336 | .set_time = bfin_rtc_set_time, |
364 | .read_alarm = bfin_rtc_read_alarm, | 337 | .read_alarm = bfin_rtc_read_alarm, |
diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c index dfd98a235ad1..8d46838dff8a 100644 --- a/drivers/rtc/rtc-davinci.c +++ b/drivers/rtc/rtc-davinci.c | |||
@@ -231,10 +231,6 @@ davinci_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long arg) | |||
231 | case RTC_WIE_OFF: | 231 | case RTC_WIE_OFF: |
232 | rtc_ctrl &= ~PRTCSS_RTC_CTRL_WEN; | 232 | rtc_ctrl &= ~PRTCSS_RTC_CTRL_WEN; |
233 | break; | 233 | break; |
234 | case RTC_UIE_OFF: | ||
235 | case RTC_UIE_ON: | ||
236 | ret = -ENOTTY; | ||
237 | break; | ||
238 | default: | 234 | default: |
239 | ret = -ENOIOCTLCMD; | 235 | ret = -ENOIOCTLCMD; |
240 | } | 236 | } |
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c index b4dbf3a319b3..de0dd7b1f146 100644 --- a/drivers/rtc/rtc-omap.c +++ b/drivers/rtc/rtc-omap.c | |||
@@ -135,44 +135,6 @@ static irqreturn_t rtc_irq(int irq, void *rtc) | |||
135 | return IRQ_HANDLED; | 135 | return IRQ_HANDLED; |
136 | } | 136 | } |
137 | 137 | ||
138 | #ifdef CONFIG_RTC_INTF_DEV | ||
139 | |||
140 | static int | ||
141 | omap_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long arg) | ||
142 | { | ||
143 | u8 reg; | ||
144 | |||
145 | switch (cmd) { | ||
146 | case RTC_UIE_OFF: | ||
147 | case RTC_UIE_ON: | ||
148 | break; | ||
149 | default: | ||
150 | return -ENOIOCTLCMD; | ||
151 | } | ||
152 | |||
153 | local_irq_disable(); | ||
154 | rtc_wait_not_busy(); | ||
155 | reg = rtc_read(OMAP_RTC_INTERRUPTS_REG); | ||
156 | switch (cmd) { | ||
157 | /* UIE = Update Interrupt Enable (1/second) */ | ||
158 | case RTC_UIE_OFF: | ||
159 | reg &= ~OMAP_RTC_INTERRUPTS_IT_TIMER; | ||
160 | break; | ||
161 | case RTC_UIE_ON: | ||
162 | reg |= OMAP_RTC_INTERRUPTS_IT_TIMER; | ||
163 | break; | ||
164 | } | ||
165 | rtc_wait_not_busy(); | ||
166 | rtc_write(reg, OMAP_RTC_INTERRUPTS_REG); | ||
167 | local_irq_enable(); | ||
168 | |||
169 | return 0; | ||
170 | } | ||
171 | |||
172 | #else | ||
173 | #define omap_rtc_ioctl NULL | ||
174 | #endif | ||
175 | |||
176 | static int omap_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 138 | static int omap_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
177 | { | 139 | { |
178 | u8 reg; | 140 | u8 reg; |
@@ -313,7 +275,6 @@ static int omap_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm) | |||
313 | } | 275 | } |
314 | 276 | ||
315 | static struct rtc_class_ops omap_rtc_ops = { | 277 | static struct rtc_class_ops omap_rtc_ops = { |
316 | .ioctl = omap_rtc_ioctl, | ||
317 | .read_time = omap_rtc_read_time, | 278 | .read_time = omap_rtc_read_time, |
318 | .set_time = omap_rtc_set_time, | 279 | .set_time = omap_rtc_set_time, |
319 | .read_alarm = omap_rtc_read_alarm, | 280 | .read_alarm = omap_rtc_read_alarm, |
diff --git a/drivers/rtc/rtc-pl030.c b/drivers/rtc/rtc-pl030.c index bbdb2f02798a..d554368c9f57 100644 --- a/drivers/rtc/rtc-pl030.c +++ b/drivers/rtc/rtc-pl030.c | |||
@@ -35,11 +35,6 @@ static irqreturn_t pl030_interrupt(int irq, void *dev_id) | |||
35 | return IRQ_HANDLED; | 35 | return IRQ_HANDLED; |
36 | } | 36 | } |
37 | 37 | ||
38 | static int pl030_ioctl(struct device *dev, unsigned int cmd, unsigned long arg) | ||
39 | { | ||
40 | return -ENOIOCTLCMD; | ||
41 | } | ||
42 | |||
43 | static int pl030_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) | 38 | static int pl030_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) |
44 | { | 39 | { |
45 | struct pl030_rtc *rtc = dev_get_drvdata(dev); | 40 | struct pl030_rtc *rtc = dev_get_drvdata(dev); |
@@ -96,7 +91,6 @@ static int pl030_set_time(struct device *dev, struct rtc_time *tm) | |||
96 | } | 91 | } |
97 | 92 | ||
98 | static const struct rtc_class_ops pl030_ops = { | 93 | static const struct rtc_class_ops pl030_ops = { |
99 | .ioctl = pl030_ioctl, | ||
100 | .read_time = pl030_read_time, | 94 | .read_time = pl030_read_time, |
101 | .set_time = pl030_set_time, | 95 | .set_time = pl030_set_time, |
102 | .read_alarm = pl030_read_alarm, | 96 | .read_alarm = pl030_read_alarm, |
diff --git a/drivers/rtc/rtc-rs5c372.c b/drivers/rtc/rtc-rs5c372.c index 6aaa1550e3b1..85c1b848dd72 100644 --- a/drivers/rtc/rtc-rs5c372.c +++ b/drivers/rtc/rtc-rs5c372.c | |||
@@ -281,57 +281,6 @@ static int rs5c372_rtc_set_time(struct device *dev, struct rtc_time *tm) | |||
281 | return rs5c372_set_datetime(to_i2c_client(dev), tm); | 281 | return rs5c372_set_datetime(to_i2c_client(dev), tm); |
282 | } | 282 | } |
283 | 283 | ||
284 | #if defined(CONFIG_RTC_INTF_DEV) || defined(CONFIG_RTC_INTF_DEV_MODULE) | ||
285 | |||
286 | static int | ||
287 | rs5c_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long arg) | ||
288 | { | ||
289 | struct i2c_client *client = to_i2c_client(dev); | ||
290 | struct rs5c372 *rs5c = i2c_get_clientdata(client); | ||
291 | unsigned char buf; | ||
292 | int status, addr; | ||
293 | |||
294 | buf = rs5c->regs[RS5C_REG_CTRL1]; | ||
295 | switch (cmd) { | ||
296 | case RTC_UIE_OFF: | ||
297 | case RTC_UIE_ON: | ||
298 | /* some 327a modes use a different IRQ pin for 1Hz irqs */ | ||
299 | if (rs5c->type == rtc_rs5c372a | ||
300 | && (buf & RS5C372A_CTRL1_SL1)) | ||
301 | return -ENOIOCTLCMD; | ||
302 | default: | ||
303 | return -ENOIOCTLCMD; | ||
304 | } | ||
305 | |||
306 | status = rs5c_get_regs(rs5c); | ||
307 | if (status < 0) | ||
308 | return status; | ||
309 | |||
310 | addr = RS5C_ADDR(RS5C_REG_CTRL1); | ||
311 | switch (cmd) { | ||
312 | case RTC_UIE_OFF: /* update off */ | ||
313 | buf &= ~RS5C_CTRL1_CT_MASK; | ||
314 | break; | ||
315 | case RTC_UIE_ON: /* update on */ | ||
316 | buf &= ~RS5C_CTRL1_CT_MASK; | ||
317 | buf |= RS5C_CTRL1_CT4; | ||
318 | break; | ||
319 | } | ||
320 | |||
321 | if (i2c_smbus_write_byte_data(client, addr, buf) < 0) { | ||
322 | printk(KERN_WARNING "%s: can't update alarm\n", | ||
323 | rs5c->rtc->name); | ||
324 | status = -EIO; | ||
325 | } else | ||
326 | rs5c->regs[RS5C_REG_CTRL1] = buf; | ||
327 | |||
328 | return status; | ||
329 | } | ||
330 | |||
331 | #else | ||
332 | #define rs5c_rtc_ioctl NULL | ||
333 | #endif | ||
334 | |||
335 | 284 | ||
336 | static int rs5c_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 285 | static int rs5c_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
337 | { | 286 | { |
@@ -480,7 +429,6 @@ static int rs5c372_rtc_proc(struct device *dev, struct seq_file *seq) | |||
480 | 429 | ||
481 | static const struct rtc_class_ops rs5c372_rtc_ops = { | 430 | static const struct rtc_class_ops rs5c372_rtc_ops = { |
482 | .proc = rs5c372_rtc_proc, | 431 | .proc = rs5c372_rtc_proc, |
483 | .ioctl = rs5c_rtc_ioctl, | ||
484 | .read_time = rs5c372_rtc_read_time, | 432 | .read_time = rs5c372_rtc_read_time, |
485 | .set_time = rs5c372_rtc_set_time, | 433 | .set_time = rs5c372_rtc_set_time, |
486 | .read_alarm = rs5c_read_alarm, | 434 | .read_alarm = rs5c_read_alarm, |
diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index d1a2b0bc3b24..a9189337a2c5 100644 --- a/drivers/rtc/rtc-sa1100.c +++ b/drivers/rtc/rtc-sa1100.c | |||
@@ -293,24 +293,6 @@ static void sa1100_rtc_release(struct device *dev) | |||
293 | } | 293 | } |
294 | 294 | ||
295 | 295 | ||
296 | static int sa1100_rtc_ioctl(struct device *dev, unsigned int cmd, | ||
297 | unsigned long arg) | ||
298 | { | ||
299 | switch (cmd) { | ||
300 | case RTC_UIE_OFF: | ||
301 | spin_lock_irq(&sa1100_rtc_lock); | ||
302 | RTSR &= ~RTSR_HZE; | ||
303 | spin_unlock_irq(&sa1100_rtc_lock); | ||
304 | return 0; | ||
305 | case RTC_UIE_ON: | ||
306 | spin_lock_irq(&sa1100_rtc_lock); | ||
307 | RTSR |= RTSR_HZE; | ||
308 | spin_unlock_irq(&sa1100_rtc_lock); | ||
309 | return 0; | ||
310 | } | ||
311 | return -ENOIOCTLCMD; | ||
312 | } | ||
313 | |||
314 | static int sa1100_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 296 | static int sa1100_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
315 | { | 297 | { |
316 | spin_lock_irq(&sa1100_rtc_lock); | 298 | spin_lock_irq(&sa1100_rtc_lock); |
@@ -386,7 +368,6 @@ static const struct rtc_class_ops sa1100_rtc_ops = { | |||
386 | .open = sa1100_rtc_open, | 368 | .open = sa1100_rtc_open, |
387 | .read_callback = sa1100_rtc_read_callback, | 369 | .read_callback = sa1100_rtc_read_callback, |
388 | .release = sa1100_rtc_release, | 370 | .release = sa1100_rtc_release, |
389 | .ioctl = sa1100_rtc_ioctl, | ||
390 | .read_time = sa1100_rtc_read_time, | 371 | .read_time = sa1100_rtc_read_time, |
391 | .set_time = sa1100_rtc_set_time, | 372 | .set_time = sa1100_rtc_set_time, |
392 | .read_alarm = sa1100_rtc_read_alarm, | 373 | .read_alarm = sa1100_rtc_read_alarm, |
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c index 148544979a54..e55dc1ac83ab 100644 --- a/drivers/rtc/rtc-sh.c +++ b/drivers/rtc/rtc-sh.c | |||
@@ -344,27 +344,6 @@ static inline void sh_rtc_setcie(struct device *dev, unsigned int enable) | |||
344 | spin_unlock_irq(&rtc->lock); | 344 | spin_unlock_irq(&rtc->lock); |
345 | } | 345 | } |
346 | 346 | ||
347 | static int sh_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long arg) | ||
348 | { | ||
349 | struct sh_rtc *rtc = dev_get_drvdata(dev); | ||
350 | unsigned int ret = 0; | ||
351 | |||
352 | switch (cmd) { | ||
353 | case RTC_UIE_OFF: | ||
354 | rtc->periodic_freq &= ~PF_OXS; | ||
355 | sh_rtc_setcie(dev, 0); | ||
356 | break; | ||
357 | case RTC_UIE_ON: | ||
358 | rtc->periodic_freq |= PF_OXS; | ||
359 | sh_rtc_setcie(dev, 1); | ||
360 | break; | ||
361 | default: | ||
362 | ret = -ENOIOCTLCMD; | ||
363 | } | ||
364 | |||
365 | return ret; | ||
366 | } | ||
367 | |||
368 | static int sh_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) | 347 | static int sh_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled) |
369 | { | 348 | { |
370 | sh_rtc_setaie(dev, enabled); | 349 | sh_rtc_setaie(dev, enabled); |
@@ -598,7 +577,6 @@ static int sh_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *wkalrm) | |||
598 | } | 577 | } |
599 | 578 | ||
600 | static struct rtc_class_ops sh_rtc_ops = { | 579 | static struct rtc_class_ops sh_rtc_ops = { |
601 | .ioctl = sh_rtc_ioctl, | ||
602 | .read_time = sh_rtc_read_time, | 580 | .read_time = sh_rtc_read_time, |
603 | .set_time = sh_rtc_set_time, | 581 | .set_time = sh_rtc_set_time, |
604 | .read_alarm = sh_rtc_read_alarm, | 582 | .read_alarm = sh_rtc_read_alarm, |