Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/pgoyette-localcount]: src/sys/arch Redo previous. Rather than separatel...
details: https://anonhg.NetBSD.org/src/rev/6a134dceb8d6
branches: pgoyette-localcount
changeset: 852821:6a134dceb8d6
user: pgoyette <pgoyette%NetBSD.org@localhost>
date: Wed Jul 20 02:06:15 2016 +0000
description:
Redo previous. Rather than separately extracting the device_t, we can
rely on sc->sc_dev when we need to call device_release().
diffstat:
sys/arch/acorn26/ioc/arcpp.c | 61 ++-----
sys/arch/acorn32/mainbus/fd.c | 184 ++++++++-------------
sys/arch/acorn32/podulebus/asc.c | 13 +-
sys/arch/alpha/pci/mcpcia.c | 18 +-
sys/arch/alpha/tc/ioasic.c | 34 +---
sys/arch/amiga/dev/afsc.c | 14 +-
sys/arch/amiga/dev/ahsc.c | 15 +-
sys/arch/amiga/dev/atzsc.c | 15 +-
sys/arch/amiga/dev/bppcsc.c | 15 +-
sys/arch/amiga/dev/cbiiisc.c | 15 +-
sys/arch/amiga/dev/drsc.c | 15 +-
sys/arch/amiga/dev/fd.c | 157 +++++++-----------
sys/arch/amiga/dev/gtsc.c | 15 +-
sys/arch/amiga/dev/mfc.c | 309 +++++++++++-------------------------
sys/arch/amiga/dev/mgnsc.c | 15 +-
sys/arch/amiga/dev/wesc.c | 15 +-
sys/arch/arc/jazz/fd.c | 80 +++------
sys/arch/arm/amlogic/amlogic_com.c | 153 +++++-------------
sys/arch/arm/at91/at91dbgu.c | 233 ++++++++-------------------
sys/arch/arm/at91/at91usart.c | 230 ++++++++-------------------
20 files changed, 529 insertions(+), 1077 deletions(-)
diffs (truncated from 3298 to 300 lines):
diff -r 590cac4d0b30 -r 6a134dceb8d6 sys/arch/acorn26/ioc/arcpp.c
--- a/sys/arch/acorn26/ioc/arcpp.c Tue Jul 19 06:26:57 2016 +0000
+++ b/sys/arch/acorn26/ioc/arcpp.c Wed Jul 20 02:06:15 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: arcpp.c,v 1.15.2.1 2016/07/19 06:26:57 pgoyette Exp $ */
+/* $NetBSD: arcpp.c,v 1.15.2.2 2016/07/20 02:06:15 pgoyette Exp $ */
/*-
* Copyright (c) 2001 Ben Harris
@@ -52,7 +52,7 @@
#include <sys/param.h>
-__KERNEL_RCSID(0, "$NetBSD: arcpp.c,v 1.15.2.1 2016/07/19 06:26:57 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arcpp.c,v 1.15.2.2 2016/07/20 02:06:15 pgoyette Exp $");
#include <sys/conf.h>
#include <sys/device.h>
@@ -191,16 +191,10 @@
bus_space_tag_t iot;
bus_space_handle_t ioh;
int error, s;
- device_t self;
- self = device_lookup_acquire(&arcpp_cd, minor(dev));
- if (self == NULL)
+ sc = device_lookup_private_acquire(&arcpp_cd, ARCPPUNIT(dev));
+ if (sc == NULL)
return ENXIO;
- sc = device_private(self);
- if (sc == NULL) {
- error = ENXIO;
- goto out;
- }
#ifdef DIAGNOSTIC
if (sc->sc_state)
@@ -208,10 +202,8 @@
sc->sc_state);
#endif
- if (sc->sc_state) {
- error = EBUSY;
- goto out;
- }
+ if (sc->sc_state)
+ return EBUSY;
sc->sc_state = ARCPP_INIT;
sc->sc_flags = flags;
@@ -226,13 +218,14 @@
if (error == EWOULDBLOCK) {
sc->sc_state = 0;
splx(s);
- error = EBUSY;
- goto out;
+ device_release(sc->sc_dev);
+ return EBUSY;
}
if (error) {
sc->sc_state = 0;
splx(s);
- goto out;
+ device_release(sc->sc_dev);
+ return error;
}
sc->sc_inbuf = malloc(ARCPP_BSIZE, M_DEVBUF, M_WAITOK);
@@ -243,10 +236,8 @@
arcppintr(sc);
splx(s);
+ device_release(sc->sc_dev);
return 0;
-
- out: device_release(self);
- return error;
}
/*
@@ -255,17 +246,9 @@
int
arcppclose(dev_t dev, int flag, int mode, struct lwp *l)
{
- device_t self;
- struct arcpp_softc *sc;
+ struct arcpp_softc *sc =
+ device_lookup_private_acquire(&arcpp_cd, ARCPPUNIT(dev));
- self = device_lookup_acquire(&arcpp_cd, minor(dev));
- if (self == NULL)
- return ENXIO;
- sc = device_private(&arcpp_cd, ARCPPUNIT(dev));
- if (sc == NULL) {
- device_release(self);
- return ENXIO;
- }
if (sc->sc_count)
(void) arcpppushbytes(sc);
@@ -274,7 +257,7 @@
sc->sc_state = 0;
free(sc->sc_inbuf, M_DEVBUF);
- device_release(self);
+ device_release(sc->sc_dev);
return 0;
}
@@ -301,19 +284,11 @@
int
arcppwrite(dev_t dev, struct uio *uio, int flags)
{
- device_t self;
- struct arcpp_softc *sc;
+ struct arcpp_softc *sc =
+ device_lookup_private_acquire(&arcpp_cd, ARCPPUNIT(dev));
size_t n;
int error = 0;
- self = device_lookup_acquire(&arcpp_cd, minor(dev));
- if (self == NULL)
- return ENXIO;
- sc = device_private(&arcpp_cd, ARCPPUNIT(dev));
- if (sc == NULL) {
- device_release(self);
- return ENXIO;
- }
while ((n = min(ARCPP_BSIZE, uio->uio_resid)) != 0) {
uiomove(sc->sc_cp = sc->sc_inbuf, n, uio);
sc->sc_count = n;
@@ -325,11 +300,11 @@
*/
uio->uio_resid += sc->sc_count;
sc->sc_count = 0;
- device_release(self);
+ device_release(sc->sc_dev);
return error;
}
}
- device_release(self);
+ device_release(sc->sc_dev);
return 0;
}
diff -r 590cac4d0b30 -r 6a134dceb8d6 sys/arch/acorn32/mainbus/fd.c
--- a/sys/arch/acorn32/mainbus/fd.c Tue Jul 19 06:26:57 2016 +0000
+++ b/sys/arch/acorn32/mainbus/fd.c Wed Jul 20 02:06:15 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: fd.c,v 1.58.2.1 2016/07/19 06:26:57 pgoyette Exp $ */
+/* $NetBSD: fd.c,v 1.58.2.2 2016/07/20 02:06:15 pgoyette Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -82,7 +82,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.58.2.1 2016/07/19 06:26:57 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fd.c,v 1.58.2.2 2016/07/20 02:06:15 pgoyette Exp $");
#include "opt_ddb.h"
@@ -567,20 +567,11 @@
void
fdstrategy(struct buf *bp)
{
- device_t self;
- struct fd_softc *fd
+ struct fd_softc *fd =
+ device_lookup_private_acquire(&fd_cd,FDUNIT(bp->b_dev));
int sz;
int s;
- self = device_lookup_acquire(&fd_cd, FDUNIT(bp->b_dev);
- if (self == NULL)
- return;
- fd = device_private(self);
- if (fd == NULL) {
- bp->b_error = ENXIO;
- return;
- }
-
/* Valid unit, controller, and request? */
if (bp->b_blkno < 0 ||
((bp->b_bcount % FDC_BSIZE) != 0 &&
@@ -635,14 +626,14 @@
}
#endif
splx(s);
- device_release(self);
+ device_release(sc->sc_dev);
return;
done:
/* Toss transfer; we're done early. */
bp->b_resid = bp->b_bcount;
biodone(bp);
- device_release(self);
+ device_release(sc->sc_dev);
}
void
@@ -794,56 +785,40 @@
int
fdopen(dev_t dev, int flags, int mode, struct lwp *l)
{
- device_t self;
struct fd_softc *fd;
struct fd_type *type;
- int error = 0;
- self = device_lookup_acquire(&fd_cd, FDUNIT(dev));
- if (self == NULL)
+ fd = device_lookup_private_acquire(&fd_cd, FDUNIT(dev));
+ if (fd == NULL)
return ENXIO;
- fd = device_private(self);
- if (fd == NULL) {
- error = ENXIO;
- goto out;
- }
type = fd_dev_to_type(fd, dev);
if (type == NULL) {
- error = ENXIO;
- goto out;
+ device_release(fd->sc_dev);
+ return ENXIO;
}
if ((fd->sc_flags & FD_OPEN) != 0 &&
memcmp(fd->sc_type, type, sizeof(*type))) {
- error = EBUSY;
- goto out;
+ device_release(fd->sc_dev);
+ return EBUSY;
}
fd->sc_type_copy = *type;
fd->sc_type = &fd->sc_type_copy;
fd->sc_cylin = -1;
fd->sc_flags |= FD_OPEN;
- out:
- device_release(self);
- return error;
+ device_release(fd->sc_dev);
+ return 0;
}
int
fdclose(dev_t dev, int flags, int mode, struct lwp *l)
{
- device_t self;
- struct fd_softc *fd;
+ struct fd_softc *fd =
+ device_lookup_private_acquire(&fd_cd, FDUNIT(dev));
- self = device_lookup_acquire(&fd_cd, FDUNIT(dev));
- if (self == NULL)
- return ENXIO;
- fd = device_private(self);
- if (fd == NULL) {
- device_release(self);
- return ENXIO;
- }
fd->sc_flags &= ~FD_OPEN;
fd->sc_opts &= ~(FDOPT_NORETRY|FDOPT_SILENT);
- device_release(self);
+ device_release(fd->sc_dev);
return 0;
}
@@ -1305,7 +1280,8 @@
int
fdioctl(dev_t dev, u_long cmd, void *addr, int flag, struct lwp *l)
{
- struct fd_softc *fd;
+ struct fd_softc *fd =
+ device_lookup_private_acquire(&fd_cd, FDUNIT(dev));
struct fdformat_parms *form_parms;
struct fdformat_cmd *form_cmd;
struct ne7_fd_formb *fd_formb;
@@ -1315,14 +1291,7 @@
int il[FD_MAX_NSEC + 1];
register int i, j;
- self = device_lookup_acquire(&fd_cd, FDUNIT(dev));
- if (self == NULL)
- return ENXIO;
- fd = device_private(self);
- if (fd == NULL) {
- device_release(self);
- return ENXIO;
- }
+ error = 0;
switch (cmd) {
case DIOCGDINFO:
memset(&buffer, 0, sizeof(buffer));
@@ -1335,26 +1304,24 @@
return EINVAL;
Home |
Main Index |
Thread Index |
Old Index