static int tegra_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *wkalrm) { struct rtc_time *time = &wkalrm->time; NvU32 alarm_sec = 0; if(!NvOdmPmuReadAlarm(hPmu, &alarm_sec)) return -EINVAL; rtc_time_to_tm(alarm_sec, time); return 0; }
//20101005, , Alarm funtion for Full Battery Recharging [START] NvBool NvRmPmuReadAlarm( NvRmDeviceHandle hRmDevice, NvU32 *pCount) { NvBool ReturnStatus = NV_FALSE; if (!s_PmuSupportedEnv) return NV_FALSE; NV_ASSERT(s_Pmu.hMutex); NvOsMutexLock(s_Pmu.hMutex); ReturnStatus = NvOdmPmuReadAlarm(s_Pmu.hOdmPmu, pCount); NvOsMutexUnlock(s_Pmu.hMutex); return ReturnStatus; }
static int tegra_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *wkalrm) { struct rtc_time *time = &wkalrm->time; NvU32 alarm_sec = 0; if(!NvOdmPmuReadAlarm(hPmu, &alarm_sec)) return -EINVAL; rtc_time_to_tm(alarm_sec, time); #if SYNC_EXTERNAL_RTC_TO_INTERNAL_RTC return internal_tegra_rtc_read_alarm(wkalrm); /* ???? */ #else return 0; #endif }