From patchwork Tue Apr 9 22:32:30 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergei Shtylyov X-Patchwork-Id: 2418121 Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 42C65DF25A for ; Tue, 9 Apr 2013 22:33:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932980Ab3DIWdd (ORCPT ); Tue, 9 Apr 2013 18:33:33 -0400 Received: from mail-la0-f43.google.com ([209.85.215.43]:38357 "EHLO mail-la0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754795Ab3DIWdd (ORCPT ); Tue, 9 Apr 2013 18:33:33 -0400 Received: by mail-la0-f43.google.com with SMTP id ek20so6950642lab.16 for ; Tue, 09 Apr 2013 15:33:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:to:subject:from:organization:date:mime-version :content-type:content-transfer-encoding:message-id :x-gm-message-state; bh=5K6lAO4wT3nlsjALt7Q4t9UlBh1IdNB61IyetJQp3Z8=; b=d14OWRuCTGWNYSp9FP7qLHFepYTuzyMR+dARtG+4CXkyVt1VB1YstAYyud58GY0/Ja 46B2mFjj4SKYHtTpQ1/BpUdT+JAUsLCGJq1Cw5A6ObRGE+m6MBuAlTKyKCVpY5R63uy5 EbEqrQnAT5rwSqhE2I6PlT6nDNg42Yi7/RaIDmacG1bZNjvhWG9YrlAAjcJM9EDTBR11 ZNLmS7KVVU9Ng0TEHE9TeS1CQEYkeVLsPYIokimPErrVD43EHfVr6hheOZf3/jUn/ejW 0I38Xadkxsg+Px6XWeLKE7Nsk5CzHADWy7qkC4b0rY5iT0r0NVNz+IadaXvZQfG/l4+h sIkw== X-Received: by 10.152.105.109 with SMTP id gl13mr14873407lab.40.1365546811535; Tue, 09 Apr 2013 15:33:31 -0700 (PDT) Received: from wasted.dev.rtsoft.ru (ppp91-79-87-206.pppoe.mtu-net.ru. [91.79.87.206]) by mx.google.com with ESMTPS id x9sm13081577lbi.15.2013.04.09.15.33.29 (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 09 Apr 2013 15:33:30 -0700 (PDT) To: horms@verge.net.au, magnus.damm@gmail.com, linux@arm.linux.org.uk, linux-sh@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org, gregkh@linuxfoundation.org, balbi@ti.com Subject: [PATCH v3 4/9] rcar-phy: remove EHCI internal buffer setup From: Sergei Shtylyov Organization: Cogent Embedded Date: Wed, 10 Apr 2013 02:32:30 +0400 MIME-Version: 1.0 Message-Id: <201304100232.30889.sergei.shtylyov@cogentembedded.com> X-Gm-Message-State: ALoCoQl+brZpeMS6jWvhiKoBE3zBVZ5Egf3PPvDcVwTqsPQs1JvSDWLv3Ih+EtRVtMaKZsUlGEGa Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org Now that the EHCI internal buffer setup is done by the platform code, we can remove such code from this driver as it never really belonged here. We also no longer need the 2nd memory region now (2nd EHCI controller is simply missing in e.g. R8A7778 SoC). The patch has been tested on the Marzen and BOCK-W boards. Signed-off-by: Sergei Shtylyov Acked-by: Kuninori Morimoto Acked-by: Simon Horman Acked-by: Felipe Balbi --- Changes since version 2: - added a note about testing to the changelog; - added ACKs from Simon Horman and Kuninori Morimoto. Changes since the original posting: - split R8A7779 SoC file change to a separate patch. drivers/usb/phy/rcar-phy.c | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Index: renesas/drivers/usb/phy/rcar-phy.c =================================================================== --- renesas.orig/drivers/usb/phy/rcar-phy.c +++ renesas/drivers/usb/phy/rcar-phy.c @@ -23,8 +23,6 @@ #define USBEH0 0x080C #define USBOH0 0x081C #define USBCTL0 0x0858 -#define EIIBC1 0x0094 -#define EIIBC2 0x009C /* USBPCTRL1 */ #define PHY_RST (1 << 2) @@ -40,7 +38,6 @@ struct rcar_usb_phy_priv { spinlock_t lock; void __iomem *reg0; - void __iomem *reg1; int counter; }; @@ -59,7 +56,6 @@ static int rcar_usb_phy_init(struct usb_ struct rcar_usb_phy_priv *priv = usb_phy_to_priv(phy); struct device *dev = phy->dev; void __iomem *reg0 = priv->reg0; - void __iomem *reg1 = priv->reg1; int i; u32 val; unsigned long flags; @@ -97,19 +93,6 @@ static int rcar_usb_phy_init(struct usb_ iowrite32(0x00000000, (reg0 + USBPCTRL0)); /* - * EHCI IP internal buffer setting - * EHCI IP internal buffer enable - * - * These are recommended value of a datasheet - * see [USB :: EHCI internal buffer setting] - */ - iowrite32(0x00ff0040, (reg0 + EIIBC1)); - iowrite32(0x00ff0040, (reg1 + EIIBC1)); - - iowrite32(0x00000001, (reg0 + EIIBC2)); - iowrite32(0x00000001, (reg1 + EIIBC2)); - - /* * Bus alignment settings */ @@ -145,14 +128,13 @@ static void rcar_usb_phy_shutdown(struct static int rcar_usb_phy_probe(struct platform_device *pdev) { struct rcar_usb_phy_priv *priv; - struct resource *res0, *res1; + struct resource *res0; struct device *dev = &pdev->dev; - void __iomem *reg0, *reg1; + void __iomem *reg0; int ret; res0 = platform_get_resource(pdev, IORESOURCE_MEM, 0); - res1 = platform_get_resource(pdev, IORESOURCE_MEM, 1); - if (!res0 || !res1) { + if (!res0) { dev_err(dev, "Not enough platform resources\n"); return -EINVAL; } @@ -164,8 +146,7 @@ static int rcar_usb_phy_probe(struct pla * this driver can't use devm_request_and_ioremap(dev, res) here */ reg0 = devm_ioremap_nocache(dev, res0->start, resource_size(res0)); - reg1 = devm_ioremap_nocache(dev, res1->start, resource_size(res1)); - if (!reg0 || !reg1) { + if (!reg0) { dev_err(dev, "ioremap error\n"); return -ENOMEM; } @@ -177,7 +158,6 @@ static int rcar_usb_phy_probe(struct pla } priv->reg0 = reg0; - priv->reg1 = reg1; priv->counter = 0; priv->phy.dev = dev; priv->phy.label = dev_name(dev);