From owner-p4-projects@FreeBSD.ORG Mon Jul 13 18:45:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D96D0106567B; Mon, 13 Jul 2009 18:45:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 95C1E1065686 for ; Mon, 13 Jul 2009 18:45:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 829068FC0C for ; Mon, 13 Jul 2009 18:45:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6DIjdBs036910 for ; Mon, 13 Jul 2009 18:45:39 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6DIjdtU036908 for perforce@freebsd.org; Mon, 13 Jul 2009 18:45:39 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 13 Jul 2009 18:45:39 GMT Message-Id: <200907131845.n6DIjdtU036908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 166029 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: Mon, 13 Jul 2009 18:45:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=166029 Change 166029 by syl@syl_atuin on 2009/07/13 18:45:02 Fix compilation issues. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#9 edit .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#6 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.c#9 (text+ko) ==== @@ -134,7 +134,8 @@ * Transfer stuff. */ -static void s3c24dci_device_done(struct usb_xfer *, usb_error_t) +static void +s3c24dci_device_done(struct usb_xfer *xfer, usb_error_t error) { struct s3c24dci_softc *sc = S3C24_DCI_BUS2SC(xfer->xroot->bus); uint32_t ittmp; @@ -142,23 +143,35 @@ USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); - DPRINTF(2, "xfer=%p, endpoint=%p, error=%d\n", - xfer, xfer->endpointnom & UE_ADDR); + DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n", + xfer, xfer->endpoint, error); if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) { ep_no = (xfer->endpointno & UE_ADDR); /* disable endpoint interrupt */ - ittmp = S3C24XX_DCI_READ_4(S3C24_DCI_EP_INT_EN); + ittmp = S3C24XX_DCI_READ_4(sc, S3C24_DCI_EP_INT_EN); ittmp &= ~(1<flags.usb_mode != USB_MODE_DEVICE) { @@ -336,7 +359,7 @@ USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); - DPRINTF(5, "endpoint=%p\n", ep); + DPRINTFN(5, "endpoint=%p\n", ep); if (xfer) { /* cancel any ongoing transfers */ @@ -344,30 +367,21 @@ } /* set STALL */ - S3C24XX_DCI_WRITE_4(S3C24_DCI_INDEX, (ep->ed->bEndpointAddress & UE_ADDR)); - if (ep->ed->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT) == UE_DIR_IN) { - csr = S3C24XX_DCI_READ_4(S3C24_DCI_IN_CSR1); + sc = S3C24_DCI_BUS2SC(udev->bus); + S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_INDEX, (ep->edesc->bEndpointAddress & UE_ADDR)); + if ((ep->edesc->bEndpointAddress & (UE_DIR_IN|UE_DIR_OUT)) == UE_DIR_IN) { + csr = S3C24XX_DCI_READ_4(sc, S3C24_DCI_IN_CSR1); csr |= S3C24_DCI_IN_SEND_STALL; - S3C24XX_DCI_WRITE_4(S3C24_DCI_IN_CSR1, csr); + S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_IN_CSR1, csr); } else { - csr = S3C24XX_DCI_READ_4(S3C24_DCI_OUT_CSR1); + csr = S3C24XX_DCI_READ_4(sc, S3C24_DCI_OUT_CSR1); csr |= S3C24_DCI_OUT_SEND_STALL; - S3C24XX_DCI_WRITE_4(S3C24_DCI_OUT_CSR1, csr); + S3C24XX_DCI_WRITE_4(sc, S3C24_DCI_OUT_CSR1, csr); } return ; } -static void -s3c24dci_get_hw_ep_profile(struct usb_device *udev, - const struct usb_hw_ep_profile **ppf, uint8_t ep_addr) -{ - if (ep_addr < S3C24XX_DCI_EP_MAX) - *ppf = (s3c24dci_ep_profile + ep_addr); - else - *ppf = NULL; -} - static usb_error_t s3c24dci_roothub_exec(struct usb_device *udev, struct usb_device_request *req, const void **pptr, uint16_t *plength) @@ -418,6 +432,8 @@ return ; } + last_obj = NULL; + if (ntd) { ep_no = xfer->endpointno & UE_ADDR; s3c24dci_get_hw_ep_profile(parm->udev, &pf, ep_no); ==== //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/s3c24xxdci.h#6 (text+ko) ==== @@ -172,14 +172,14 @@ #define S3C24XX_DCI_READ_4(sc, reg) \ bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg) -#define S3C24XX_DCI_WRITE_4(sc, reg, (sc)->sc_io_hdl, reg, data) \ - bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) +#define S3C24XX_DCI_WRITE_4(sc, reg, data) \ + bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, reg, data) -struct s3cdci_td; +struct s3c24dci_td; -typedef uint8_t (s3c24dci_cmd_t)(struct s3c24dci_td *td); +typedef uint8_t (*s3c24dci_cmd_t)(struct s3c24dci_td *td); -struct uint8_t s3c24dci_td { +struct s3c24dci_td { bus_space_tag_t io_tag; bus_space_handle_t io_hdl; struct s3c24dci_td *obj_next; @@ -199,6 +199,9 @@ struct usb_bus sc_bus; struct usb_device *sc_devices[2]; + bus_space_tag_t sc_io_tag; + bus_space_handle_t sc_io_hdl; + uint8_t sc_rt_addr; /* root HUB address */ uint8_t sc_dv_addr; /* device address */ uint8_t sc_conf; /* root HUB config */