From owner-p4-projects@FreeBSD.ORG Wed Jul 12 22:30:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4281A16A4E2; Wed, 12 Jul 2006 22:30:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1714E16A4E0 for ; Wed, 12 Jul 2006 22:30:32 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D52F543D45 for ; Wed, 12 Jul 2006 22:30:31 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6CMUVAh000289 for ; Wed, 12 Jul 2006 22:30:31 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6CMUV2D000286 for perforce@freebsd.org; Wed, 12 Jul 2006 22:30:31 GMT (envelope-from imp@freebsd.org) Date: Wed, 12 Jul 2006 22:30:31 GMT Message-Id: <200607122230.k6CMUV2D000286@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 101420 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Jul 2006 22:30:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=101420 Change 101420 by imp@imp_lighthouse on 2006/07/12 22:29:34 implement set_time Affected files ... .. //depot/projects/arm/src/sys/arm/at91/at91_rtc.c#5 edit .. //depot/projects/arm/src/sys/arm/at91/at91_rtcreg.h#5 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/at91_rtc.c#5 (text+ko) ==== @@ -223,9 +223,14 @@ static int at91_rtc_settime(device_t dev, struct timespec *ts) { - // XXX UGLY XXX - printf("SET TIME\n"); - return (EINVAL); + struct at91_rtc_softc *sc; + struct clocktime ct; + + sc = device_get_softc(dev); + clock_ts_to_ct(ts, &ct); + WR4(sc, RTC_TIMR, RTC_TIMR_MK(ct.hour, ct.min, ct.sec)); + WR4(sc, RTC_CALR, RTC_CALR_MK(ct.year, ct.mon, ct.day, ct.dow)); + return (0); } static device_method_t at91_rtc_methods[] = { ==== //depot/projects/arm/src/sys/arm/at91/at91_rtcreg.h#5 (text+ko) ==== @@ -74,7 +74,7 @@ #define RTC_CALR_DAY_S 24 #define RTC_CALR_DAY(x) FROMBCD(((x) & RTC_CALR_DAY_M) >> RTC_CALR_DAY_S) #define RTC_CALR_MK(yr, mon, day, dow) \ - ((TOBCD((yr) / 100 + 19) << RTC_CALR_CENTURY_S) | \ + ((TOBCD((yr) / 100 + 19) << RTC_CALR_CEN_S) | \ (TOBCD((yr) % 100) << RTC_CALR_YEAR_S) | \ (TOBCD(mon) << RTC_CALR_MON_S) | \ (TOBCD(dow) << RTC_CALR_DOW_S) | \