blackfin RTC driver: convert PIE handling to irq_set_state() as pointed out by David Brownell

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Mike Frysinger and committed by Linus Torvalds e12af37d 140fab14

+18 -10
+18 -10
drivers/rtc/rtc-bfin.c
··· 264 bfin_rtc_sync_pending(dev); 265 266 switch (cmd) { 267 - case RTC_PIE_ON: 268 - dev_dbg_stamp(dev); 269 - bfin_rtc_int_set(RTC_ISTAT_STOPWATCH); 270 - bfin_write_RTC_SWCNT(rtc->rtc_dev->irq_freq); 271 - break; 272 - case RTC_PIE_OFF: 273 - dev_dbg_stamp(dev); 274 - bfin_rtc_int_clear(~RTC_ISTAT_STOPWATCH); 275 - break; 276 - 277 case RTC_UIE_ON: 278 dev_dbg_stamp(dev); 279 bfin_rtc_int_set(RTC_ISTAT_SEC); ··· 371 #undef yesno 372 } 373 374 static struct rtc_class_ops bfin_rtc_ops = { 375 .open = bfin_rtc_open, 376 .release = bfin_rtc_release, ··· 397 .read_alarm = bfin_rtc_read_alarm, 398 .set_alarm = bfin_rtc_set_alarm, 399 .proc = bfin_rtc_proc, 400 }; 401 402 static int __devinit bfin_rtc_probe(struct platform_device *pdev)
··· 264 bfin_rtc_sync_pending(dev); 265 266 switch (cmd) { 267 case RTC_UIE_ON: 268 dev_dbg_stamp(dev); 269 bfin_rtc_int_set(RTC_ISTAT_SEC); ··· 381 #undef yesno 382 } 383 384 + static int bfin_irq_set_state(struct device *dev, int enabled) 385 + { 386 + struct bfin_rtc *rtc = dev_get_drvdata(dev); 387 + 388 + dev_dbg_stamp(dev); 389 + 390 + bfin_rtc_sync_pending(dev); 391 + 392 + if (enabled) { 393 + bfin_rtc_int_set(RTC_ISTAT_STOPWATCH); 394 + bfin_write_RTC_SWCNT(rtc->rtc_dev->irq_freq); 395 + } else 396 + bfin_rtc_int_clear(~RTC_ISTAT_STOPWATCH); 397 + 398 + return 0; 399 + } 400 + 401 static struct rtc_class_ops bfin_rtc_ops = { 402 .open = bfin_rtc_open, 403 .release = bfin_rtc_release, ··· 390 .read_alarm = bfin_rtc_read_alarm, 391 .set_alarm = bfin_rtc_set_alarm, 392 .proc = bfin_rtc_proc, 393 + .irq_set_state = bfin_irq_set_state, 394 }; 395 396 static int __devinit bfin_rtc_probe(struct platform_device *pdev)