static irqreturn_t rtc_interrupt_handler(int irq, void *dev_id) { struct rtc_device *rdev = dev_id; pr_debug(" RTC ***** interrupt happen\n"); rtc_aie_update_irq(rdev); CLEAR_RTC_INT(RTC_INT_ALL_MSK); return IRQ_HANDLED; }
static irqreturn_t rtc_interrupt_handler(int irq, void *dev_id) { struct rtc_device *rdev = dev_id; pr_info("RTC ***** interrupt happen, RSTS=0x%x\n", sci_adi_read(ANA_RTC_INT_RSTS)); //rtc_update_irq(rdev, 1, RTC_AF | RTC_IRQF); rtc_aie_update_irq(rdev); CLEAR_RTC_INT(RTC_INT_ALL_MSK); return IRQ_HANDLED; }
static irqreturn_t rtc_interrupt_handler(int irq, void *dev_id) { struct rtc_device *rdev = dev_id; pr_debug(" RTC ***** interrupt happen\n"); //rtc_update_irq(rdev, 1, RTC_AF | RTC_IRQF); rtc_aie_update_irq(rdev); CLEAR_RTC_INT(RTC_INT_ALL_MSK); #if defined(CONFIG_RTC_CHN_ALARM_BOOT) && defined(CONFIG_SPA) if(spa_lpm_charging_mode_get()) schedule_work(&reboot_work); #endif return IRQ_HANDLED; }