static int lpc32xx_rtc_read_time(struct device *dev, struct rtc_time *time) { unsigned long epoch_sec, elapsed_sec; struct platform_device *pdev = to_platform_device(dev); struct lpc32xx_rtc_priv *lpc32xx_rtc_dat = platform_get_drvdata(pdev); epoch_sec = mktime(epoch, 1, 1, 0, 0, 0); elapsed_sec = read_seconds((u32) lpc32xx_rtc_dat->rtc_base); rtc_time_to_tm(epoch_sec + elapsed_sec, time); return 0; }
uint8_t is_rtc_connected() { uint8_t sample = read_seconds(); _delay_ms(1010); return read_seconds() != sample; }