From patchwork Fri Oct 19 10:24:44 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Fritz X-Patchwork-Id: 192641 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 3CA9E2C0A93 for ; Fri, 19 Oct 2012 21:28:47 +1100 (EST) Received: from mail-bk0-f51.google.com (mail-bk0-f51.google.com [209.85.214.51]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 92FE92C03DE for ; Fri, 19 Oct 2012 21:25:39 +1100 (EST) Received: by mail-bk0-f51.google.com with SMTP id e19so111780bku.38 for ; Fri, 19 Oct 2012 03:25:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=rANNwihVhh85PalZnwEcAsLrqdxH3bX+Q0DA2616uwk=; b=vx7TjBGEn28w2UzCj6IrgdDDq+/lGRTa8qNdBvcNPRJdNXL+rJQGsMobq5RKk3hITW KB5JEzkME5aO67UYMBRfCdQXCmn9hhERsn2yA2jRe3kovYyuqKsFbFNblCrtRRkvy5sF G4D/C4+uXgjdfwzdNQ0vvaqGSSZ6KAtCmeTl5/fVamQVPeHg+0JIs3umzK8kxmgd9yQD Rn25l9qS14c4xdyUUKXfb+bQeaoFAe25tpuV9CiQJBdjpZNcVZBj34b4dta0XPNEw2Z5 X0RdPGU2l7pq+T5Es86WzF4mxvS8JlfafK5kuijXoIiA2LYiGBHPweUUKwciJHKc1XFD Xbmw== Received: by 10.204.130.204 with SMTP id u12mr238986bks.17.1350642338932; Fri, 19 Oct 2012 03:25:38 -0700 (PDT) Received: from localhost.localdomain (p5DD1557F.dip.t-dialin.net. [93.209.85.127]) by mx.google.com with ESMTPS id v14sm598539bkv.10.2012.10.19.03.25.37 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 19 Oct 2012 03:25:38 -0700 (PDT) From: Christoph Fritz To: Felipe Balbi Subject: [PATCH 6/7] usb: gadget: fsl_udc: purge global pointer usb_sys_regs Date: Fri, 19 Oct 2012 12:24:44 +0200 Message-Id: <1350642285-8145-6-git-send-email-chf.fritz@googlemail.com> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: <1350642156-8034-1-git-send-email-chf.fritz@googlemail.com> References: <1350642156-8034-1-git-send-email-chf.fritz@googlemail.com> Cc: Estevam Fabio-R49496 , Li Yang-R58472 , Greg Kroah-Hartman , Chen Peter-B29397 , Sascha Hauer , linux-usb@vger.kernel.org, "Hans J. Koch" , Daniel Mack , Christian Hemp , linuxppc-dev@lists.ozlabs.org, Teresa Gamez , Sebastian Andrzej Siewior X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Move global driver pointer usb_sys_regs to private struct fsl_udc. Signed-off-by: Christoph Fritz Reviewed-by: Teresa Gamez --- drivers/usb/gadget/fsl_udc_core.c | 26 ++++++++++++-------------- drivers/usb/gadget/fsl_usb2_udc.h | 1 + 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index deaab62..35ebcd4 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -43,8 +43,6 @@ static const char driver_desc[] = DRIVER_DESC; static struct usb_dr_device *dr_regs; -static struct usb_sys_interface *usb_sys_regs; - static const struct usb_endpoint_descriptor fsl_ep0_desc = { .bLength = USB_DT_ENDPOINT_SIZE, @@ -170,10 +168,10 @@ static int dr_controller_setup(struct fsl_udc *udc) if (udc->pdata->have_sysif_regs) { if (udc->pdata->controller_ver) { /* controller version 1.6 or above */ - ctrl = __raw_readl(&usb_sys_regs->control); + ctrl = readl(&udc->usb_sys_regs->control); ctrl &= ~USB_CTRL_UTMI_PHY_EN; ctrl |= USB_CTRL_USB_EN; - __raw_writel(ctrl, &usb_sys_regs->control); + writel(ctrl, &udc->usb_sys_regs->control); } } portctrl |= PORTSCX_PTS_ULPI; @@ -185,10 +183,10 @@ static int dr_controller_setup(struct fsl_udc *udc) if (udc->pdata->have_sysif_regs) { if (udc->pdata->controller_ver) { /* controller version 1.6 or above */ - ctrl = __raw_readl(&usb_sys_regs->control); + ctrl = readl(&udc->usb_sys_regs->control); ctrl |= (USB_CTRL_UTMI_PHY_EN | USB_CTRL_USB_EN); - __raw_writel(ctrl, &usb_sys_regs->control); + writel(ctrl, &udc->usb_sys_regs->control); mdelay(FSL_UTMI_PHY_DLY); /* Delay for UTMI PHY CLK to become stable - 10ms*/ } @@ -254,9 +252,9 @@ static int dr_controller_setup(struct fsl_udc *udc) /* Config control enable i/o output, cpu endian register */ #ifndef CONFIG_ARCH_MXC if (udc->pdata->have_sysif_regs) { - ctrl = __raw_readl(&usb_sys_regs->control); + ctrl = readl(&udc->usb_sys_regs->control); ctrl |= USB_CTRL_IOENB; - __raw_writel(ctrl, &usb_sys_regs->control); + writel(ctrl, &udc->usb_sys_regs->control); } #endif @@ -267,9 +265,9 @@ static int dr_controller_setup(struct fsl_udc *udc) if (udc->pdata->have_sysif_regs) { /* Setup Snooping for all the 4GB space */ tmp = SNOOP_SIZE_2GB; /* starts from 0x0, size 2G */ - __raw_writel(tmp, &usb_sys_regs->snoop1); + writel(tmp, &udc->usb_sys_regs->snoop1); tmp |= 0x80000000; /* starts from 0x8000000, size 2G */ - __raw_writel(tmp, &usb_sys_regs->snoop2); + writel(tmp, &udc->usb_sys_regs->snoop2); } #endif @@ -326,7 +324,7 @@ static void dr_controller_stop(struct fsl_udc *udc) udc->stopped = 1; /* disable IO output */ -/* usb_sys_regs->control = 0; */ +/* udc->usb_sys_regs->control = 0; */ /* set controller to Stop */ tmp = readl(&dr_regs->usbcmd); @@ -2130,12 +2128,12 @@ static int fsl_proc_read(char *page, char **start, off_t off, int count, #ifndef CONFIG_ARCH_MXC if (udc->pdata->have_sysif_regs) { - tmp_reg = usb_sys_regs->snoop1; + tmp_reg = udc->usb_sys_regs->snoop1; t = scnprintf(next, size, "Snoop1 Reg : = [0x%x]\n\n", tmp_reg); size -= t; next += t; - tmp_reg = usb_sys_regs->control; + tmp_reg = udc->usb_sys_regs->control; t = scnprintf(next, size, "General Control Reg : = [0x%x]\n\n", tmp_reg); size -= t; @@ -2388,7 +2386,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev) #ifndef CONFIG_ARCH_MXC if (pdata->have_sysif_regs) - usb_sys_regs = (void *)dr_regs + USB_DR_SYS_OFFSET; + udc->usb_sys_regs = (void *)dr_regs + USB_DR_SYS_OFFSET; #endif /* Initialize USB clocks */ diff --git a/drivers/usb/gadget/fsl_usb2_udc.h b/drivers/usb/gadget/fsl_usb2_udc.h index a0123ae..0d888f4 100644 --- a/drivers/usb/gadget/fsl_usb2_udc.h +++ b/drivers/usb/gadget/fsl_usb2_udc.h @@ -498,6 +498,7 @@ struct fsl_udc { dma_addr_t ep_qh_dma; /* dma address of QH */ struct ep_td_struct *last_free_td; + struct usb_sys_interface *usb_sys_regs; u32 max_pipes; /* Device max pipes */ u32 bus_reset; /* Device is bus resetting */