From patchwork Thu Jan 26 13:27:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 9539249 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CEB9C604A0 for ; Thu, 26 Jan 2017 13:27:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CF22E201BD for ; Thu, 26 Jan 2017 13:27:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C19DD28174; Thu, 26 Jan 2017 13:27:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 24F90201BD for ; Thu, 26 Jan 2017 13:27:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751926AbdAZN1Q (ORCPT ); Thu, 26 Jan 2017 08:27:16 -0500 Received: from mail-lf0-f43.google.com ([209.85.215.43]:34307 "EHLO mail-lf0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751788AbdAZN1P (ORCPT ); Thu, 26 Jan 2017 08:27:15 -0500 Received: by mail-lf0-f43.google.com with SMTP id v186so145450185lfa.1 for ; Thu, 26 Jan 2017 05:27:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=wB6rjMlCSmBrjj/KoouCFvsh2+6MIqqvgdBQi+hB/W0=; b=EHXEocNM3SfY8waROXHo6lHjFpqYMwMPe6LxtU6kV1sDm5AjHUleCMuiuM8cmHJnu+ 5AI436TqVG1kYbcMCV7CKSI8KHwFLhQJ4zOc2pVqido8EfGq4acg39Yb4CyvBtcorlKh 4vuwfiVSHrhMuZTADvg1Zf5+0RMkBaKJs/MHM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=wB6rjMlCSmBrjj/KoouCFvsh2+6MIqqvgdBQi+hB/W0=; b=axl5Az+sK8rja4R5plUs8dYeeiAFT2YcOQRpv3uaBxStCrKaiih8G7Q8VeMMLkaRFj KEJVmyXXN7oe/QEOKyafb5FUF+BmDsKEgHnmq63koYlEgCYn9orCmqxtxoY9VSH22pZP 6U/N1R4artmjA8XxUzHU41r2DFIZ3gleRLMNUH11QKRT3/gFzGDbLQ+RivkdGup9S/EF M+V6lAmetja+Fl8GtJSByWSrw98xUFcMuoQGRhaMLW0Bo5iLz9ihbx0Sj9Fjo1u7Q/L/ c4CcLo91yDLe7hJTo0dSCnqep/arTwyHMgyFTWlJ/oXUBzn+ZUUOgWwsT1a9XJfv8C8p /g4Q== X-Gm-Message-State: AIkVDXIq+QTXb70lJ+YNjUxeTMUBGAVxD/Zy6WCpQa9vQ1B0Nv+84lI5V54Dfj0h3VUgvKm8 X-Received: by 10.25.67.83 with SMTP id m19mr847719lfj.24.1485437233615; Thu, 26 Jan 2017 05:27:13 -0800 (PST) Received: from gnarp.ideon.se ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id n20sm483681lfn.5.2017.01.26.05.27.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Jan 2017 05:27:12 -0800 (PST) From: Linus Walleij To: Kishon Vijay Abraham I , Bjorn Helgaas Cc: linux-pci@vger.kernel.org, Linus Walleij Subject: [PATCH] pci: host: dra7xx: use GPIO descriptor Date: Thu, 26 Jan 2017 14:27:07 +0100 Message-Id: <20170126132707.23249-1-linus.walleij@linaro.org> X-Mailer: git-send-email 2.9.3 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Instead of parsing around in the device tree and determine polarity for the GPIO line and whatnot: utilize the GPIO library's intrinsic handling of OF GPIOs and polarity. If the line is flagged active low, gpiolib will deal with this. Signed-off-by: Linus Walleij --- Would be nice if someone with the hardware could test this and see if it works. --- drivers/pci/host/pci-dra7xx.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/drivers/pci/host/pci-dra7xx.c b/drivers/pci/host/pci-dra7xx.c index 9595fad63f6f..85ac2856c80f 100644 --- a/drivers/pci/host/pci-dra7xx.c +++ b/drivers/pci/host/pci-dra7xx.c @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -320,9 +320,7 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct device_node *np = dev->of_node; char name[10]; - int gpio_sel; - enum of_gpio_flags flags; - unsigned long gpio_flags; + struct gpio_desc *gpiod; dra7xx = devm_kzalloc(dev, sizeof(*dra7xx), GFP_KERNEL); if (!dra7xx) @@ -388,19 +386,9 @@ static int __init dra7xx_pcie_probe(struct platform_device *pdev) goto err_get_sync; } - gpio_sel = of_get_gpio_flags(dev->of_node, 0, &flags); - if (gpio_is_valid(gpio_sel)) { - gpio_flags = (flags & OF_GPIO_ACTIVE_LOW) ? - GPIOF_OUT_INIT_LOW : GPIOF_OUT_INIT_HIGH; - ret = devm_gpio_request_one(dev, gpio_sel, gpio_flags, - "pcie_reset"); - if (ret) { - dev_err(dev, "gpio%d request failed, ret %d\n", - gpio_sel, ret); - goto err_gpio; - } - } else if (gpio_sel == -EPROBE_DEFER) { - ret = -EPROBE_DEFER; + gpiod = devm_gpiod_get(dev, "pcie_reset", GPIOD_OUT_HIGH); + if (IS_ERR(gpiod)) { + ret = PTR_ERR(gpiod); goto err_gpio; }