static DEVICE_ATTR(cal, S_IRUGO | S_IWUSR, retu_rtc_cal_show,
retu_rtc_cal_store);
-static struct device_driver retu_rtc_driver;
+static struct platform_device retu_rtc_device;
static void retu_rtca_disable(void)
{
static void retu_rtca_expired(struct work_struct *unused)
{
retu_rtca_disable();
- sysfs_notify(&retu_rtc_driver.kobj, NULL, "alarm_expired");
+ sysfs_notify(&retu_rtc_device.dev.kobj, NULL, "alarm_expired");
}
DECLARE_WORK(retu_rtca_work, retu_rtca_expired);
static void retu_rtcs_interrupt(unsigned long unused)
{
retu_ack_irq(RETU_INT_RTCS);
- complete(&retu_rtc_sync);
+ complete_all(&retu_rtc_sync);
}
static void retu_rtca_interrupt(unsigned long unused)
/* This function provides syncronization with the RTCS interrupt handler */
static void retu_rtc_barrier(void)
{
- init_completion(&retu_rtc_sync);
+ INIT_COMPLETION(retu_rtc_sync);
retu_ack_irq(RETU_INT_RTCS);
retu_enable_irq(RETU_INT_RTCS);
wait_for_completion(&retu_rtc_sync);