Module Name:    src
Committed By:   tsutsui
Date:           Wed Apr  7 13:14:23 UTC 2010

Modified Files:
        src/sys/arch/atari/dev: fd.c

Log Message:
- split device_t/softc
- use device_lookup_private() directly rather than via local macro


To generate a diff of this commit:
cvs rdiff -u -r1.73 -r1.74 src/sys/arch/atari/dev/fd.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/atari/dev/fd.c
diff -u src/sys/arch/atari/dev/fd.c:1.73 src/sys/arch/atari/dev/fd.c:1.74
--- src/sys/arch/atari/dev/fd.c:1.73	Wed Apr  7 12:39:59 2010
+++ src/sys/arch/atari/dev/fd.c	Wed Apr  7 13:14:23 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: fd.c,v 1.73 2010/04/07 12:39:59 tsutsui Exp $	*/
+/*	$NetBSD: fd.c,v 1.74 2010/04/07 13:14:23 tsutsui Exp $	*/
 
 /*
  * Copyright (c) 1995 Leo Weppelman.
@@ -44,7 +44,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.73 2010/04/07 12:39:59 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.74 2010/04/07 13:14:23 tsutsui Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -129,7 +129,7 @@
  * Private per device data
  */
 struct fd_softc {
-	struct device	sc_dv;		/* generic device info		*/
+	device_t	sc_dev;		/* generic device info		*/
 	struct disk	dkdev;		/* generic disk info		*/
 	struct bufq_state *bufq;	/* queue of buf's		*/
 	struct callout	sc_motor_ch;
@@ -263,11 +263,11 @@
  */
 extern struct cfdriver fd_cd;
 
-static int	fdcmatch(struct device *, struct cfdata *, void *);
+static int	fdcmatch(device_t, cfdata_t, void *);
 static int	fdcprint(void *, const char *);
-static void	fdcattach(struct device *, struct device *, void *);
+static void	fdcattach(device_t, device_t, void *);
 
-CFATTACH_DECL(fdc, sizeof(struct device),
+CFATTACH_DECL_NEW(fdc, 0,
     fdcmatch, fdcattach, NULL, NULL);
 
 const struct bdevsw fd_bdevsw = {
@@ -280,19 +280,19 @@
 };
 
 static int
-fdcmatch(struct device *pdp, struct cfdata *cfp, void *auxp)
+fdcmatch(device_t parent, cfdata_t match, void *aux)
 {
 	static int	fdc_matched = 0;
 
 	/* Match only once */
-	if(strcmp("fdc", auxp) || fdc_matched)
+	if(strcmp("fdc", aux) || fdc_matched)
 		return(0);
 	fdc_matched = 1;
 	return(1);
 }
 
 static void
-fdcattach(struct device *pdp, struct device *dp, void *auxp)
+fdcattach(device_t parent, device_t self, void *aux)
 {
 	struct fd_softc	fdsoftc;
 	int		i, nfound, first_found;
@@ -315,12 +315,13 @@
 			if(!nfound)
 				first_found = i;
 			nfound++;
-			config_found(dp, (void*)i, fdcprint);
+			config_found(self, (void*)i, fdcprint);
 		}
 	}
 
 	if(nfound) {
-		struct fd_softc *fdsc = getsoftc(fd_cd, first_found);
+		struct fd_softc *fdsc =
+		    device_lookup_private(&fd_cd, first_found);
 
 		/*
 		 * Make sure motor will be turned of when a floppy is
@@ -340,38 +341,39 @@
 }
 
 static int
-fdcprint(void *auxp, const char *pnp)
+fdcprint(void *aux, const char *pnp)
 {
 	if (pnp != NULL)
-		aprint_normal("fd%d at %s:", (int)auxp, pnp);
+		aprint_normal("fd%d at %s:", (int)aux, pnp);
 	
 	return(UNCONF);
 }
 
-static int	fdmatch(struct device *, struct cfdata *, void *);
-static void	fdattach(struct device *, struct device *, void *);
+static int	fdmatch(device_t, cfdata_t, void *);
+static void	fdattach(device_t, device_t, void *);
 
 struct dkdriver fddkdriver = { fdstrategy };
 
-CFATTACH_DECL(fd, sizeof(struct fd_softc),
+CFATTACH_DECL_NEW(fd, sizeof(struct fd_softc),
     fdmatch, fdattach, NULL, NULL);
 
 extern struct cfdriver fd_cd;
 
 static int
-fdmatch(struct device *pdp, struct cfdata *cfp, void *auxp)
+fdmatch(device_t parent, cfdata_t match, void *aux)
 {
 	return(1);
 }
 
 static void
-fdattach(struct device *pdp, struct device *dp, void *auxp)
+fdattach(device_t parent, device_t self, void *aux)
 {
 	struct fd_softc	*sc;
 	struct fd_types *type;
 	u_short		swtch;
 
-	sc = device_private(dp);
+	sc = device_private(self);
+	sc->sc_dev = self;
 
 	callout_init(&sc->sc_motor_ch, 0);
 
@@ -383,14 +385,14 @@
 	def_type = (swtch & CFG_SWITCH_NOHD) ? FLP_TYPE_720 : FLP_TYPE_144;
 	type     = &fdtypes[def_type];
 
-	printf(": %s %d cyl, %d head, %d sec\n", type->descr,
+	aprint_normal(": %s %d cyl, %d head, %d sec\n", type->descr,
 		type->nblocks / (type->nsectors * type->nheads), type->nheads,
 		type->nsectors);
 
 	/*
 	 * Initialize and attach the disk structure.
 	 */
-	disk_init(&sc->dkdev, sc->sc_dv.dv_xname, &fddkdriver);
+	disk_init(&sc->dkdev, device_xname(sc->sc_dev), &fddkdriver);
 	disk_attach(&sc->dkdev);
 }
 
@@ -399,7 +401,7 @@
 {
 	struct fd_softc *sc;
 
-	sc = getsoftc(fd_cd, DISKUNIT(dev));
+	sc = device_lookup_private(&fd_cd, DISKUNIT(dev));
 
 	if((sc->flags & FLPF_HAVELAB) == 0)
 		return(EBADF);
@@ -453,7 +455,7 @@
 	if(FLP_TYPE(dev) >= NR_TYPES)
 		return(ENXIO);
 
-	if((sc = getsoftc(fd_cd, DISKUNIT(dev))) == NULL)
+	if((sc = device_lookup_private(&fd_cd, DISKUNIT(dev))) == NULL)
 		return(ENXIO);
 
 	/*
@@ -544,7 +546,7 @@
 {
 	struct fd_softc	*sc;
 
-	sc = getsoftc(fd_cd, DISKUNIT(dev));
+	sc = device_lookup_private(&fd_cd, DISKUNIT(dev));
 	free_stmem(sc->bounceb);
 	sc->flags = 0;
 	nopens--;
@@ -562,7 +564,7 @@
 	struct disklabel *lp;
 	int		 sps, sz;
 
-	sc = getsoftc(fd_cd, DISKUNIT(bp->b_dev));
+	sc = device_lookup_private(&fd_cd, DISKUNIT(bp->b_dev));
 
 #ifdef FLP_DEBUG
 	printf("fdstrategy: %p, b_bcount: %ld\n", bp, bp->b_bcount);
@@ -1171,7 +1173,7 @@
 	struct fd_softc	*sc;
 	int		sec, toff, tsz;
 
-	if((sc = getsoftc(fd_cd, DISKUNIT(bp->b_dev))) == NULL)
+	if((sc = device_lookup_private(&fd_cd, DISKUNIT(bp->b_dev))) == NULL)
 		panic("fdminphys: couldn't get softc");
 
 	sec  = bp->b_blkno % (sc->nsectors * sc->nheads);

Reply via email to