From patchwork Mon Jan 6 15:10:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 11319441 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A3CF21395 for ; Mon, 6 Jan 2020 15:12:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 61FAB2075A for ; Mon, 6 Jan 2020 15:12:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Sb4xxOYt" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726487AbgAFPMU (ORCPT ); Mon, 6 Jan 2020 10:12:20 -0500 Received: from mail-lj1-f194.google.com ([209.85.208.194]:45992 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726422AbgAFPMU (ORCPT ); Mon, 6 Jan 2020 10:12:20 -0500 Received: by mail-lj1-f194.google.com with SMTP id j26so51230640ljc.12 for ; Mon, 06 Jan 2020 07:12:17 -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:mime-version :content-transfer-encoding; bh=E6vCVj01eM0gQk+Ea4q2CkspmFtcmN68XDL+3sPmwz8=; b=Sb4xxOYtb3uuzAsy2XlhuCCAXJ69hLXG9qw6Kbu6+cLM5O2ma/9202cLLqk43zTOo1 Ul/xq8VhhPaf0XFp1/D97jJIxyfyYlmempSYA3v8x3OkCwrY2hTr9WXySUgcy7x6P0kf 5Ua6d3BUl4jd+oDegVBw6N1ybER3kOShqjkERvZQ0vWhuxzVFXaH+g7ddXegJV2W0pPe hQ7d1/SV5QIrT4r5DaRxCJXMYNcr4yUASyT6KpTeIzZMoVSmJ0K/dCTgmSQ18ZaiWbi1 eXHa+mcX41yD98cPArGnyFrbjn0XWYpV/A7Btnl4AQ4eic+r+l212vqJqHsCNgwh/D8u F9Tw== 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:mime-version :content-transfer-encoding; bh=E6vCVj01eM0gQk+Ea4q2CkspmFtcmN68XDL+3sPmwz8=; b=qxej/Hzn2+WDlZYKTFAMwUSgpMN01NfuWnG3u1EaFcNpZcJfuGlaYHUisac/7V5qTN 1fK5REGGZQpjNp4STrioaXDrjyqKQc8Gy23wOnFC4r1XEQXsK4/fVtziyNKZzl67lOsM IQdlES4l2YhZ7hA73NhAelHmQiSTn2Ta/3WwYBK4eLvRbLkW9ywqUnPD+EmLdSXYsZAM nBRPoAYM1SCzpVbU8sVVrdRldDSbd8Yr1tlWhJwBpKvwGt9UXKZulKDfyMCTu29IKa9W qlOVhyawIyT6ZGETmTthiXgPs4T6+oVe8mOCbQp3B9h4QGllmabupfo/DVutD6wSbxVb B8Bw== X-Gm-Message-State: APjAAAXlGX+MaTd+2DpJAOwiWoLdwveMwIj3BZMEWVV58kiyRK2MWvxc FyING/5vpKjTpRKK/kaOzpZpvg== X-Google-Smtp-Source: APXvYqy4NX9ZvoczeJ9uGFvDAlzDa7Zebz+z5NizR3SyrSkfLfDLiaoCPi3AqMsCPC2DH81QrhQt2g== X-Received: by 2002:a05:651c:111a:: with SMTP id d26mr54739567ljo.153.1578323536705; Mon, 06 Jan 2020 07:12:16 -0800 (PST) Received: from localhost.localdomain (c-5ac9225c.014-348-6c756e10.bbcust.telenor.se. [92.34.201.90]) by smtp.gmail.com with ESMTPSA id j22sm29036897lfh.93.2020.01.06.07.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2020 07:12:15 -0800 (PST) From: Linus Walleij To: Greg Kroah-Hartman , Felipe Balbi Cc: linux-usb@vger.kernel.org, Linus Walleij , Robert Jarzmik , Daniel Mack , Haojian Zhuang , Sylwester Nawrocki , Philipp Zabel Subject: [PATCH v2] usb: phy: phy-gpio-vbus-usb: Convert to GPIO descriptors Date: Mon, 6 Jan 2020 16:10:05 +0100 Message-Id: <20200106151005.321983-1-linus.walleij@linaro.org> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Instead of using the legacy GPIO API and keeping track on polarity inversion semantics in the driver, switch to use GPIO descriptors for this driver and change all consumers in the process. This makes it possible to retire platform data completely: the only remaining platform data member was "wakeup" which was intended to make the vbus interrupt wakeup capable, but was not set by any users and thus remained unused. VBUS was not waking any devices up. Leave a comment about it so later developers using the platform can consider setting it to always enabled so plugging in USB wakes up the platform. Cc: Robert Jarzmik Cc: Daniel Mack Cc: Haojian Zhuang Acked-by: Felipe Balbi Acked-by: Sylwester Nawrocki Acked-by: Philipp Zabel Signed-off-by: Linus Walleij Acked-by: Robert Jarzmik --- ChangeLog v1->v2: - Fix a chip label typo in mach-s3c64xx - Collect the ACKs! --- arch/arm/mach-pxa/colibri-pxa320.c | 16 ++--- arch/arm/mach-pxa/eseries.c | 40 +++++++----- arch/arm/mach-pxa/gumstix.c | 18 +++--- arch/arm/mach-pxa/hx4700.c | 22 ++++--- arch/arm/mach-pxa/magician.c | 22 ++++--- arch/arm/mach-pxa/mioa701.c | 15 +++-- arch/arm/mach-pxa/palm27x.c | 34 +++++------ arch/arm/mach-pxa/palmt5.c | 1 - arch/arm/mach-pxa/palmtc.c | 18 +++--- arch/arm/mach-pxa/palmte2.c | 18 +++--- arch/arm/mach-pxa/palmtx.c | 1 - arch/arm/mach-pxa/palmz72.c | 1 - arch/arm/mach-pxa/tosa.c | 18 +++--- arch/arm/mach-pxa/vpac270.c | 15 ++--- arch/arm/mach-s3c64xx/mach-smartq.c | 13 ++-- drivers/usb/phy/phy-gpio-vbus-usb.c | 95 +++++++++++++---------------- include/linux/usb/gpio_vbus.h | 33 ---------- 17 files changed, 188 insertions(+), 192 deletions(-) delete mode 100644 include/linux/usb/gpio_vbus.h diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index eba917d69c0a..35dd3adb7712 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c @@ -11,9 +11,9 @@ #include #include #include +#include #include #include -#include #include #include @@ -144,17 +144,18 @@ static inline void __init colibri_pxa320_init_eth(void) {} #endif /* CONFIG_AX88796 */ #if defined(CONFIG_USB_PXA27X)||defined(CONFIG_USB_PXA27X_MODULE) -static struct gpio_vbus_mach_info colibri_pxa320_gpio_vbus_info = { - .gpio_vbus = mfp_to_gpio(MFP_PIN_GPIO96), - .gpio_pullup = -1, +static struct gpiod_lookup_table gpio_vbus_gpiod_table = { + .dev_id = "gpio-vbus", + .table = { + GPIO_LOOKUP("gpio-pxa", MFP_PIN_GPIO96, + "vbus", GPIO_ACTIVE_HIGH), + { }, + }, }; static struct platform_device colibri_pxa320_gpio_vbus = { .name = "gpio-vbus", .id = -1, - .dev = { - .platform_data = &colibri_pxa320_gpio_vbus_info, - }, }; static void colibri_pxa320_udc_command(int cmd) @@ -173,6 +174,7 @@ static struct pxa2xx_udc_mach_info colibri_pxa320_udc_info __initdata = { static void __init colibri_pxa320_init_udc(void) { pxa_set_udc_info(&colibri_pxa320_udc_info); + gpiod_add_lookup_table(&gpio_vbus_gpiod_table); platform_device_register(&colibri_pxa320_gpio_vbus); } #else diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index 91f7c3e40065..f37c44b6139d 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -22,7 +23,6 @@ #include #include #include -#include #include #include