Module Name: src Committed By: skrll Date: Thu Jan 31 12:41:42 UTC 2013
Modified Files: src/sys/dev/usb: dwc_otg.c dwc_otgvar.h Log Message: Simplify dwc_otg_work and its initialisation. To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/sys/dev/usb/dwc_otg.c cvs rdiff -u -r1.8 -r1.9 src/sys/dev/usb/dwc_otgvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/dwc_otg.c diff -u src/sys/dev/usb/dwc_otg.c:1.40 src/sys/dev/usb/dwc_otg.c:1.41 --- src/sys/dev/usb/dwc_otg.c:1.40 Mon Jan 28 08:22:01 2013 +++ src/sys/dev/usb/dwc_otg.c Thu Jan 31 12:41:41 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: dwc_otg.c,v 1.40 2013/01/28 08:22:01 skrll Exp $ */ +/* $NetBSD: dwc_otg.c,v 1.41 2013/01/31 12:41:41 skrll Exp $ */ /*- * Copyright (c) 2012 Hans Petter Selasky. All rights reserved. @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dwc_otg.c,v 1.40 2013/01/28 08:22:01 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dwc_otg.c,v 1.41 2013/01/31 12:41:41 skrll Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -367,19 +367,20 @@ usbd_xfer_handle dwc_otg_allocx(struct usbd_bus *bus) { struct dwc_otg_softc *sc = bus->hci_private; - usbd_xfer_handle xfer; + struct dwc_otg_xfer *dxfer; DPRINTF("\n"); DOTG_EVCNT_INCR(sc->sc_ev_xferpoolget); - xfer = pool_cache_get(sc->sc_xferpool, PR_NOWAIT); - if (xfer != NULL) { - memset(xfer, 0, sizeof(struct dwc_otg_xfer)); + dxfer = pool_cache_get(sc->sc_xferpool, PR_NOWAIT); + if (dxfer != NULL) { + memset(dxfer, 0, sizeof(*dxfer)); + dxfer->work.xfer = &dxfer->xfer; #ifdef DIAGNOSTIC - xfer->busy_free = XFER_BUSY; + dxfer->xfer.busy_free = XFER_BUSY; #endif } - return xfer; + return (usbd_xfer_handle)dxfer; } void @@ -1650,8 +1651,8 @@ Static void dwc_otg_worker(struct work *wk, void *priv) { struct dwc_otg_work *dwork = (struct dwc_otg_work *)wk; + struct dwc_otg_softc *sc = priv; usbd_xfer_handle xfer = dwork->xfer; - struct dwc_otg_softc *sc = dwork->sc; DOTG_EVCNT_INCR(sc->sc_ev_work); @@ -4098,7 +4099,6 @@ dwc_otg_init(struct dwc_otg_softc *sc) workqueue_create(&sc->sc_wq, xname, dwc_otg_worker, sc, PRI_NONE, IPL_USB, WQ_MPSAFE); - sc->sc_timer_work.sc = sc; usb_setup_reserve(sc->sc_dev, &sc->sc_dma_reserve, sc->sc_bus.dmatag, USB_MEM_RESERVE); @@ -4338,9 +4338,6 @@ dwc_otg_xfer_setup(usbd_xfer_handle xfer void *last_obj; int ntd, n; - dxfer->work.sc = sc; - dxfer->work.xfer = xfer; - /* * compute maximum number of TDs */ Index: src/sys/dev/usb/dwc_otgvar.h diff -u src/sys/dev/usb/dwc_otgvar.h:1.8 src/sys/dev/usb/dwc_otgvar.h:1.9 --- src/sys/dev/usb/dwc_otgvar.h:1.8 Sat Jan 19 14:10:14 2013 +++ src/sys/dev/usb/dwc_otgvar.h Thu Jan 31 12:41:41 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: dwc_otgvar.h,v 1.8 2013/01/19 14:10:14 skrll Exp $ */ +/* $NetBSD: dwc_otgvar.h,v 1.9 2013/01/31 12:41:41 skrll Exp $ */ /* $FreeBSD: src/sys/dev/usb/controller/dwc_otg.h,v 1.12 2012/09/27 15:23:38 hselasky Exp $ */ /*- @@ -151,7 +151,6 @@ typedef struct dwc_otg_soft_td { struct dwc_otg_work { struct work wk; - struct dwc_otg_softc *sc; usbd_xfer_handle xfer; };