Commit 51ba60c5bb3b0f71bee26404ddc22d8e4109e88a

Authored by John Stultz
1 parent 696160fec1

RTC: Cleanup rtc_class_ops->update_irq_enable()

Now that the generic code handles UIE mode irqs via periodic
alarm interrupts, no one calls the
rtc_class_ops->update_irq_enable() method anymore.

This patch removes the driver hooks and implementations of
update_irq_enable if no one else is calling it.

CC: Thomas Gleixner <tglx@linutronix.de>
CC: Alessandro Zummo <a.zummo@towertech.it>
CC: Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
CC: rtc-linux@googlegroups.com
Signed-off-by: John Stultz <john.stultz@linaro.org>

Showing 17 changed files with 1 additions and 237 deletions Side-by-side Diff

drivers/rtc/rtc-cmos.c
... ... @@ -394,25 +394,6 @@
394 394 return 0;
395 395 }
396 396  
397   -static int cmos_update_irq_enable(struct device *dev, unsigned int enabled)
398   -{
399   - struct cmos_rtc *cmos = dev_get_drvdata(dev);
400   - unsigned long flags;
401   -
402   - if (!is_valid_irq(cmos->irq))
403   - return -EINVAL;
404   -
405   - spin_lock_irqsave(&rtc_lock, flags);
406   -
407   - if (enabled)
408   - cmos_irq_enable(cmos, RTC_UIE);
409   - else
410   - cmos_irq_disable(cmos, RTC_UIE);
411   -
412   - spin_unlock_irqrestore(&rtc_lock, flags);
413   - return 0;
414   -}
415   -
416 397 #if defined(CONFIG_RTC_INTF_PROC) || defined(CONFIG_RTC_INTF_PROC_MODULE)
417 398  
418 399 static int cmos_procfs(struct device *dev, struct seq_file *seq)
... ... @@ -458,7 +439,6 @@
458 439 .set_alarm = cmos_set_alarm,
459 440 .proc = cmos_procfs,
460 441 .alarm_irq_enable = cmos_alarm_irq_enable,
461   - .update_irq_enable = cmos_update_irq_enable,
462 442 };
463 443  
464 444 /*----------------------------------------------------------------*/
drivers/rtc/rtc-ds1511.c
... ... @@ -397,29 +397,12 @@
397 397 return 0;
398 398 }
399 399  
400   -static int ds1511_rtc_update_irq_enable(struct device *dev,
401   - unsigned int enabled)
402   -{
403   - struct platform_device *pdev = to_platform_device(dev);
404   - struct rtc_plat_data *pdata = platform_get_drvdata(pdev);
405   -
406   - if (pdata->irq <= 0)
407   - return -EINVAL;
408   - if (enabled)
409   - pdata->irqen |= RTC_UF;
410   - else
411   - pdata->irqen &= ~RTC_UF;
412   - ds1511_rtc_update_alarm(pdata);
413   - return 0;
414   -}
415   -
416 400 static const struct rtc_class_ops ds1511_rtc_ops = {
417 401 .read_time = ds1511_rtc_read_time,
418 402 .set_time = ds1511_rtc_set_time,
419 403 .read_alarm = ds1511_rtc_read_alarm,
420 404 .set_alarm = ds1511_rtc_set_alarm,
421 405 .alarm_irq_enable = ds1511_rtc_alarm_irq_enable,
422   - .update_irq_enable = ds1511_rtc_update_irq_enable,
423 406 };
424 407  
425 408 static ssize_t
drivers/rtc/rtc-ds1553.c
... ... @@ -227,29 +227,12 @@
227 227 return 0;
228 228 }
229 229  
230   -static int ds1553_rtc_update_irq_enable(struct device *dev,
231   - unsigned int enabled)
232   -{
233   - struct platform_device *pdev = to_platform_device(dev);
234   - struct rtc_plat_data *pdata = platform_get_drvdata(pdev);
235   -
236   - if (pdata->irq <= 0)
237   - return -EINVAL;
238   - if (enabled)
239   - pdata->irqen |= RTC_UF;
240   - else
241   - pdata->irqen &= ~RTC_UF;
242   - ds1553_rtc_update_alarm(pdata);
243   - return 0;
244   -}
245   -
246 230 static const struct rtc_class_ops ds1553_rtc_ops = {
247 231 .read_time = ds1553_rtc_read_time,
248 232 .set_time = ds1553_rtc_set_time,
249 233 .read_alarm = ds1553_rtc_read_alarm,
250 234 .set_alarm = ds1553_rtc_set_alarm,
251 235 .alarm_irq_enable = ds1553_rtc_alarm_irq_enable,
252   - .update_irq_enable = ds1553_rtc_update_irq_enable,
253 236 };
254 237  
255 238 static ssize_t ds1553_nvram_read(struct file *filp, struct kobject *kobj,
drivers/rtc/rtc-ds3232.c
... ... @@ -339,23 +339,6 @@
339 339 return 0;
340 340 }
341 341  
342   -static int ds3232_update_irq_enable(struct device *dev, unsigned int enabled)
343   -{
344   - struct i2c_client *client = to_i2c_client(dev);
345   - struct ds3232 *ds3232 = i2c_get_clientdata(client);
346   -
347   - if (client->irq <= 0)
348   - return -EINVAL;
349   -
350   - if (enabled)
351   - ds3232->rtc->irq_data |= RTC_UF;
352   - else
353   - ds3232->rtc->irq_data &= ~RTC_UF;
354   -
355   - ds3232_update_alarm(client);
356   - return 0;
357   -}
358   -
359 342 static irqreturn_t ds3232_irq(int irq, void *dev_id)
360 343 {
361 344 struct i2c_client *client = dev_id;
... ... @@ -406,7 +389,6 @@
406 389 .read_alarm = ds3232_read_alarm,
407 390 .set_alarm = ds3232_set_alarm,
408 391 .alarm_irq_enable = ds3232_alarm_irq_enable,
409   - .update_irq_enable = ds3232_update_irq_enable,
410 392 };
411 393  
412 394 static int __devinit ds3232_probe(struct i2c_client *client,
drivers/rtc/rtc-jz4740.c
... ... @@ -168,12 +168,6 @@
168 168 return ret;
169 169 }
170 170  
171   -static int jz4740_rtc_update_irq_enable(struct device *dev, unsigned int enable)
172   -{
173   - struct jz4740_rtc *rtc = dev_get_drvdata(dev);
174   - return jz4740_rtc_ctrl_set_bits(rtc, JZ_RTC_CTRL_1HZ_IRQ, enable);
175   -}
176   -
177 171 static int jz4740_rtc_alarm_irq_enable(struct device *dev, unsigned int enable)
178 172 {
179 173 struct jz4740_rtc *rtc = dev_get_drvdata(dev);
... ... @@ -185,7 +179,6 @@
185 179 .set_mmss = jz4740_rtc_set_mmss,
186 180 .read_alarm = jz4740_rtc_read_alarm,
187 181 .set_alarm = jz4740_rtc_set_alarm,
188   - .update_irq_enable = jz4740_rtc_update_irq_enable,
189 182 .alarm_irq_enable = jz4740_rtc_alarm_irq_enable,
190 183 };
191 184  
drivers/rtc/rtc-mc13xxx.c
... ... @@ -282,12 +282,6 @@
282 282 return IRQ_HANDLED;
283 283 }
284 284  
285   -static int mc13xxx_rtc_update_irq_enable(struct device *dev,
286   - unsigned int enabled)
287   -{
288   - return mc13xxx_rtc_irq_enable(dev, enabled, MC13XXX_IRQ_1HZ);
289   -}
290   -
291 285 static int mc13xxx_rtc_alarm_irq_enable(struct device *dev,
292 286 unsigned int enabled)
293 287 {
... ... @@ -300,7 +294,6 @@
300 294 .read_alarm = mc13xxx_rtc_read_alarm,
301 295 .set_alarm = mc13xxx_rtc_set_alarm,
302 296 .alarm_irq_enable = mc13xxx_rtc_alarm_irq_enable,
303   - .update_irq_enable = mc13xxx_rtc_update_irq_enable,
304 297 };
305 298  
306 299 static irqreturn_t mc13xxx_rtc_reset_handler(int irq, void *dev)
drivers/rtc/rtc-mpc5121.c
... ... @@ -240,32 +240,12 @@
240 240 return 0;
241 241 }
242 242  
243   -static int mpc5121_rtc_update_irq_enable(struct device *dev,
244   - unsigned int enabled)
245   -{
246   - struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
247   - struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
248   - int val;
249   -
250   - val = in_8(&regs->int_enable);
251   -
252   - if (enabled)
253   - val = (val & ~0x8) | 0x1;
254   - else
255   - val &= ~0x1;
256   -
257   - out_8(&regs->int_enable, val);
258   -
259   - return 0;
260   -}
261   -
262 243 static const struct rtc_class_ops mpc5121_rtc_ops = {
263 244 .read_time = mpc5121_rtc_read_time,
264 245 .set_time = mpc5121_rtc_set_time,
265 246 .read_alarm = mpc5121_rtc_read_alarm,
266 247 .set_alarm = mpc5121_rtc_set_alarm,
267 248 .alarm_irq_enable = mpc5121_rtc_alarm_irq_enable,
268   - .update_irq_enable = mpc5121_rtc_update_irq_enable,
269 249 };
270 250  
271 251 static int __devinit mpc5121_rtc_probe(struct platform_device *op,
drivers/rtc/rtc-mxc.c
... ... @@ -274,12 +274,6 @@
274 274 return 0;
275 275 }
276 276  
277   -static int mxc_rtc_update_irq_enable(struct device *dev, unsigned int enabled)
278   -{
279   - mxc_rtc_irq_enable(dev, RTC_1HZ_BIT, enabled);
280   - return 0;
281   -}
282   -
283 277 /*
284 278 * This function reads the current RTC time into tm in Gregorian date.
285 279 */
... ... @@ -368,7 +362,6 @@
368 362 .read_alarm = mxc_rtc_read_alarm,
369 363 .set_alarm = mxc_rtc_set_alarm,
370 364 .alarm_irq_enable = mxc_rtc_alarm_irq_enable,
371   - .update_irq_enable = mxc_rtc_update_irq_enable,
372 365 };
373 366  
374 367 static int __init mxc_rtc_probe(struct platform_device *pdev)
drivers/rtc/rtc-nuc900.c
... ... @@ -134,20 +134,6 @@
134 134 gettm->bcd_hour = bin2bcd(settm->tm_hour) << 16;
135 135 }
136 136  
137   -static int nuc900_update_irq_enable(struct device *dev, unsigned int enabled)
138   -{
139   - struct nuc900_rtc *rtc = dev_get_drvdata(dev);
140   -
141   - if (enabled)
142   - __raw_writel(__raw_readl(rtc->rtc_reg + REG_RTC_RIER)|
143   - (TICKINTENB), rtc->rtc_reg + REG_RTC_RIER);
144   - else
145   - __raw_writel(__raw_readl(rtc->rtc_reg + REG_RTC_RIER)&
146   - (~TICKINTENB), rtc->rtc_reg + REG_RTC_RIER);
147   -
148   - return 0;
149   -}
150   -
151 137 static int nuc900_alarm_irq_enable(struct device *dev, unsigned int enabled)
152 138 {
153 139 struct nuc900_rtc *rtc = dev_get_drvdata(dev);
... ... @@ -234,7 +220,6 @@
234 220 .read_alarm = nuc900_rtc_read_alarm,
235 221 .set_alarm = nuc900_rtc_set_alarm,
236 222 .alarm_irq_enable = nuc900_alarm_irq_enable,
237   - .update_irq_enable = nuc900_update_irq_enable,
238 223 };
239 224  
240 225 static int __devinit nuc900_rtc_probe(struct platform_device *pdev)
drivers/rtc/rtc-pcap.c
... ... @@ -131,18 +131,12 @@
131 131 return pcap_rtc_irq_enable(dev, PCAP_IRQ_TODA, en);
132 132 }
133 133  
134   -static int pcap_rtc_update_irq_enable(struct device *dev, unsigned int en)
135   -{
136   - return pcap_rtc_irq_enable(dev, PCAP_IRQ_1HZ, en);
137   -}
138   -
139 134 static const struct rtc_class_ops pcap_rtc_ops = {
140 135 .read_time = pcap_rtc_read_time,
141 136 .read_alarm = pcap_rtc_read_alarm,
142 137 .set_alarm = pcap_rtc_set_alarm,
143 138 .set_mmss = pcap_rtc_set_mmss,
144 139 .alarm_irq_enable = pcap_rtc_alarm_irq_enable,
145   - .update_irq_enable = pcap_rtc_update_irq_enable,
146 140 };
147 141  
148 142 static int __devinit pcap_rtc_probe(struct platform_device *pdev)
drivers/rtc/rtc-pcf50633.c
... ... @@ -106,25 +106,6 @@
106 106 return 0;
107 107 }
108 108  
109   -static int
110   -pcf50633_rtc_update_irq_enable(struct device *dev, unsigned int enabled)
111   -{
112   - struct pcf50633_rtc *rtc = dev_get_drvdata(dev);
113   - int err;
114   -
115   - if (enabled)
116   - err = pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_SECOND);
117   - else
118   - err = pcf50633_irq_mask(rtc->pcf, PCF50633_IRQ_SECOND);
119   -
120   - if (err < 0)
121   - return err;
122   -
123   - rtc->second_enabled = enabled;
124   -
125   - return 0;
126   -}
127   -
128 109 static int pcf50633_rtc_read_time(struct device *dev, struct rtc_time *tm)
129 110 {
130 111 struct pcf50633_rtc *rtc;
... ... @@ -262,8 +243,7 @@
262 243 .set_time = pcf50633_rtc_set_time,
263 244 .read_alarm = pcf50633_rtc_read_alarm,
264 245 .set_alarm = pcf50633_rtc_set_alarm,
265   - .alarm_irq_enable = pcf50633_rtc_alarm_irq_enable,
266   - .update_irq_enable = pcf50633_rtc_update_irq_enable,
  246 + .alarm_irq_enable = pcf50633_rtc_alarm_irq_enable,
267 247 };
268 248  
269 249 static void pcf50633_rtc_irq(int irq, void *data)
drivers/rtc/rtc-pxa.c
... ... @@ -224,21 +224,6 @@
224 224 return 0;
225 225 }
226 226  
227   -static int pxa_update_irq_enable(struct device *dev, unsigned int enabled)
228   -{
229   - struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
230   -
231   - spin_lock_irq(&pxa_rtc->lock);
232   -
233   - if (enabled)
234   - rtsr_set_bits(pxa_rtc, RTSR_HZE);
235   - else
236   - rtsr_clear_bits(pxa_rtc, RTSR_HZE);
237   -
238   - spin_unlock_irq(&pxa_rtc->lock);
239   - return 0;
240   -}
241   -
242 227 static int pxa_rtc_read_time(struct device *dev, struct rtc_time *tm)
243 228 {
244 229 struct pxa_rtc *pxa_rtc = dev_get_drvdata(dev);
... ... @@ -320,7 +305,6 @@
320 305 .read_alarm = pxa_rtc_read_alarm,
321 306 .set_alarm = pxa_rtc_set_alarm,
322 307 .alarm_irq_enable = pxa_alarm_irq_enable,
323   - .update_irq_enable = pxa_update_irq_enable,
324 308 .proc = pxa_rtc_proc,
325 309 };
326 310  
drivers/rtc/rtc-stmp3xxx.c
... ... @@ -115,19 +115,6 @@
115 115 return 0;
116 116 }
117 117  
118   -static int stmp3xxx_update_irq_enable(struct device *dev, unsigned int enabled)
119   -{
120   - struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
121   -
122   - if (enabled)
123   - stmp3xxx_setl(BM_RTC_CTRL_ONEMSEC_IRQ_EN,
124   - rtc_data->io + HW_RTC_CTRL);
125   - else
126   - stmp3xxx_clearl(BM_RTC_CTRL_ONEMSEC_IRQ_EN,
127   - rtc_data->io + HW_RTC_CTRL);
128   - return 0;
129   -}
130   -
131 118 static int stmp3xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alm)
132 119 {
133 120 struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
... ... @@ -149,8 +136,6 @@
149 136 static struct rtc_class_ops stmp3xxx_rtc_ops = {
150 137 .alarm_irq_enable =
151 138 stmp3xxx_alarm_irq_enable,
152   - .update_irq_enable =
153   - stmp3xxx_update_irq_enable,
154 139 .read_time = stmp3xxx_rtc_gettime,
155 140 .set_mmss = stmp3xxx_rtc_set_mmss,
156 141 .read_alarm = stmp3xxx_rtc_read_alarm,
drivers/rtc/rtc-twl.c
... ... @@ -213,18 +213,6 @@
213 213 return ret;
214 214 }
215 215  
216   -static int twl_rtc_update_irq_enable(struct device *dev, unsigned enabled)
217   -{
218   - int ret;
219   -
220   - if (enabled)
221   - ret = set_rtc_irq_bit(BIT_RTC_INTERRUPTS_REG_IT_TIMER_M);
222   - else
223   - ret = mask_rtc_irq_bit(BIT_RTC_INTERRUPTS_REG_IT_TIMER_M);
224   -
225   - return ret;
226   -}
227   -
228 216 /*
229 217 * Gets current TWL RTC time and date parameters.
230 218 *
... ... @@ -433,7 +421,6 @@
433 421 .read_alarm = twl_rtc_read_alarm,
434 422 .set_alarm = twl_rtc_set_alarm,
435 423 .alarm_irq_enable = twl_rtc_alarm_irq_enable,
436   - .update_irq_enable = twl_rtc_update_irq_enable,
437 424 };
438 425  
439 426 /*----------------------------------------------------------------------*/
drivers/rtc/rtc-wm831x.c
... ... @@ -315,21 +315,6 @@
315 315 return wm831x_rtc_stop_alarm(wm831x_rtc);
316 316 }
317 317  
318   -static int wm831x_rtc_update_irq_enable(struct device *dev,
319   - unsigned int enabled)
320   -{
321   - struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
322   - int val;
323   -
324   - if (enabled)
325   - val = 1 << WM831X_RTC_PINT_FREQ_SHIFT;
326   - else
327   - val = 0;
328   -
329   - return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
330   - WM831X_RTC_PINT_FREQ_MASK, val);
331   -}
332   -
333 318 static irqreturn_t wm831x_alm_irq(int irq, void *data)
334 319 {
335 320 struct wm831x_rtc *wm831x_rtc = data;
... ... @@ -354,7 +339,6 @@
354 339 .read_alarm = wm831x_rtc_readalarm,
355 340 .set_alarm = wm831x_rtc_setalarm,
356 341 .alarm_irq_enable = wm831x_rtc_alarm_irq_enable,
357   - .update_irq_enable = wm831x_rtc_update_irq_enable,
358 342 };
359 343  
360 344 #ifdef CONFIG_PM
drivers/rtc/rtc-wm8350.c
... ... @@ -302,26 +302,6 @@
302 302 return ret;
303 303 }
304 304  
305   -static int wm8350_rtc_update_irq_enable(struct device *dev,
306   - unsigned int enabled)
307   -{
308   - struct wm8350 *wm8350 = dev_get_drvdata(dev);
309   -
310   - /* Suppress duplicate changes since genirq nests enable and
311   - * disable calls. */
312   - if (enabled == wm8350->rtc.update_enabled)
313   - return 0;
314   -
315   - if (enabled)
316   - wm8350_unmask_irq(wm8350, WM8350_IRQ_RTC_SEC);
317   - else
318   - wm8350_mask_irq(wm8350, WM8350_IRQ_RTC_SEC);
319   -
320   - wm8350->rtc.update_enabled = enabled;
321   -
322   - return 0;
323   -}
324   -
325 305 static irqreturn_t wm8350_rtc_alarm_handler(int irq, void *data)
326 306 {
327 307 struct wm8350 *wm8350 = data;
... ... @@ -357,7 +337,6 @@
357 337 .read_alarm = wm8350_rtc_readalarm,
358 338 .set_alarm = wm8350_rtc_setalarm,
359 339 .alarm_irq_enable = wm8350_rtc_alarm_irq_enable,
360   - .update_irq_enable = wm8350_rtc_update_irq_enable,
361 340 };
362 341  
363 342 #ifdef CONFIG_PM
... ... @@ -149,7 +149,6 @@
149 149 int (*set_mmss)(struct device *, unsigned long secs);
150 150 int (*read_callback)(struct device *, int data);
151 151 int (*alarm_irq_enable)(struct device *, unsigned int enabled);
152   - int (*update_irq_enable)(struct device *, unsigned int enabled);
153 152 };
154 153  
155 154 #define RTC_DEVICE_NAME_SIZE 20