Module Name:    src
Committed By:   cliff
Date:           Wed Jun 15 05:29:32 UTC 2011

Modified Files:
        src/sys/arch/evbppc/walnut/dev: ds1743.c

Log Message:
- convert to use device_t, cfattach_t, CFATTACH_DECL_NEW etc.
- in dsrtcattach() use struct clock_ymdhms instead of rtc in DEBUG code block,
and move that block down after sc_todr.cookie is initialized so dsrtc_read() 
works.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/evbppc/walnut/dev/ds1743.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbppc/walnut/dev/ds1743.c
diff -u src/sys/arch/evbppc/walnut/dev/ds1743.c:1.7 src/sys/arch/evbppc/walnut/dev/ds1743.c:1.8
--- src/sys/arch/evbppc/walnut/dev/ds1743.c:1.7	Mon Sep 18 22:05:47 2006
+++ src/sys/arch/evbppc/walnut/dev/ds1743.c	Wed Jun 15 05:29:32 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: ds1743.c,v 1.7 2006/09/18 22:05:47 gdamore Exp $	*/
+/*	$NetBSD: ds1743.c,v 1.8 2011/06/15 05:29:32 cliff Exp $	*/
 
 /*
  * Copyright (c) 2001-2002 Wasabi Sysetms, Inc.
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ds1743.c,v 1.7 2006/09/18 22:05:47 gdamore Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ds1743.c,v 1.8 2011/06/15 05:29:32 cliff Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -52,14 +52,14 @@
 #include <evbppc/walnut/dev/pbusvar.h>
 
 struct dsrtc_softc {
-	struct device	sc_dev;
+	device_t	sc_dev;
 	bus_space_tag_t	sc_iot;
 	bus_space_handle_t sc_ioh;
 	struct todr_chip_handle sc_todr;
 };
 
-static void dsrtcattach(struct device *, struct device *, void *);
-static int dsrtcmatch(struct device *, struct cfdata *, void *);
+static void dsrtcattach(device_t, device_t, void *);
+static int dsrtcmatch(device_t, cfdata_t, void *);
 #if 0	/* Nothing uses these yet */
 static int ds1743_ram_read(struct dsrtc_softc *, int);
 static void ds1743_ram_write(struct dsrtc_softc *, int, int);
@@ -73,7 +73,7 @@
 static void ds1743_unlock(struct dsrtc_softc *, u_char);
 
 /* device and attach structures */
-CFATTACH_DECL(ds1743rtc, sizeof(struct dsrtc_softc),
+CFATTACH_DECL_NEW(ds1743rtc, sizeof(struct dsrtc_softc),
     dsrtcmatch, dsrtcattach, NULL, NULL);
 
 /*
@@ -86,7 +86,7 @@
 #define DS_SCRATCH_ADDR 0x1FF7
 
 static int
-dsrtcmatch(struct device *parent, struct cfdata *cf, void *aux)
+dsrtcmatch(device_t parent, cfdata_t cf, void *aux)
 {
 	struct pbus_attach_args *paa = aux;
 	int retval = !ds1743found;
@@ -131,13 +131,14 @@
  */
 
 static void
-dsrtcattach(struct device *parent, struct device *self, void *aux)
+dsrtcattach(device_t parent, device_t self, void *aux)
 {
-	struct dsrtc_softc *sc = (struct dsrtc_softc *)self;
+	struct dsrtc_softc *sc = device_private(self);
 	struct pbus_attach_args *paa = aux;
 
 	ds1743found = 1;
 	
+	sc->sc_dev = self;
 	sc->sc_iot = paa->pb_bt;
 	if (bus_space_map(sc->sc_iot, paa->pb_addr, DS_SIZE, 0, &sc->sc_ioh)) {
 		printf(": can't map i/o space\n");
@@ -149,19 +150,20 @@
 		printf(": lithium cell is dead, RTC unreliable");
 	printf("\n");
 
+	sc->sc_todr.todr_gettime_ymdhms = dsrtc_read;
+	sc->sc_todr.todr_settime_ymdhms = dsrtc_write;
+	sc->sc_todr.cookie = sc;
+
 #ifdef DEBUG
 	{
-		rtc_t rtc;
-		dsrtc_read(sc, &rtc);
-		printf("RTC: %d/%d/%02d%02d %d:%02d:%02d\n",
-			rtc.rtc_mon, rtc.rtc_day, rtc.rtc_cen, rtc.rtc_year,
-			rtc.rtc_hour, rtc.rtc_min, rtc.rtc_sec);
+		struct clock_ymdhms dt;
+		dsrtc_read(&sc->sc_todr, &dt);
+		printf("RTC: %d/%d/%04d %d:%02d:%02d\n",
+			dt.dt_mon, dt.dt_day, dt.dt_year,
+			dt.dt_hour, dt.dt_min, dt.dt_sec);
 	}
 #endif
 
-	sc->sc_todr.todr_gettime_ymdhms = dsrtc_read;
-	sc->sc_todr.todr_settime_ymdhms = dsrtc_write;
-	sc->sc_todr.cookie = sc;
 	todr_attach(&sc->sc_todr);
 }
 

Reply via email to