From patchwork Mon Jul 10 09:46:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 117822 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp4923664vqx; Mon, 10 Jul 2023 03:30:12 -0700 (PDT) X-Google-Smtp-Source: APBJJlHfJXy6griCvQHtmDrpG7jkepM9PKlPUMKenUlGgIf9qReYP8RhwUYymt7tXEwqBxK3i5o0 X-Received: by 2002:a17:90a:1b09:b0:263:f776:8ba3 with SMTP id q9-20020a17090a1b0900b00263f7768ba3mr10482130pjq.9.1688985012441; Mon, 10 Jul 2023 03:30:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688985012; cv=none; d=google.com; s=arc-20160816; b=a91ZqEYH8AB69S1txvR+cXM0bF83CDlOchCyzo1nQXfugyatbWEuI9NiU0ah8hat0R qjK01vbGlyrE3R4eP9geONsiV1vMqnW61mQLRiQD+oh64DQgIWrGecfyxTxyWBLEXQQj WIw1VQ6UO22PzLZXqIG7m0SqdNwis0ue8NUJXIICInAoG3SNafSQaypKTI6yTl/rV4q+ YfhO+LYayQXDFZMo4ll9GsjvwBZjzVHThZxHs6X0gEk/q1byZQisVY+0UeLW7ZUE3zi+ c2GKAM5DV3xGTKH7yg7GVxHxXgei5CMQsBjhRQ1IuL0yiccaTGZOulCsNnIsD4XpDq+b iK9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=/T2R2cGeBXVVLFXya3c85liL9uvI0eAgVt3gIG+r6P4=; fh=NG3KG4QeI+icmVfT96ixmUfA6a0aL3i3gn3PtXTjuYw=; b=mMMSM5RTcX6mzt7yLMohIug6Y3LAbFF/hCpDbtoxhAVqcgsYDjB/7ldB+EhIztrYWf UDUpQE3DbcvZuTyZLIgPOKzWcKQ4+hLBbcnHRunZNGj4kiYXkJIzXz9Rg755QJYlDh62 FbddbTusxA84jbJWdI+QUQEKJfDyVhS8/AyMJEKTBZqa3zgdOSyBeWIrMMtw3LZgR+aU WVhIIqMSeHRfRAIBYDDi8VyLuaZhmDA0craFMtQnB/8hQJvxbhZF3BHgf0z9zeZWuyME FR2HcaU7ERmaMapl9aMVM+aKlxxGufcx2GiE+NvmL53IibgDZ2HaGbPo3bbHmrJCXOeA 1aFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=maSyQDt7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id oc16-20020a17090b1c1000b0025c1ff9cd67si7708916pjb.184.2023.07.10.03.30.00; Mon, 10 Jul 2023 03:30:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=maSyQDt7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231898AbjGJJvu (ORCPT + 99 others); Mon, 10 Jul 2023 05:51:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233109AbjGJJu6 (ORCPT ); Mon, 10 Jul 2023 05:50:58 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D04F3EE; Mon, 10 Jul 2023 02:46:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688982404; x=1720518404; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=uXugLi1fmKBrAebmGx6Upi+jSUgvd/xrP2azX6cr4N0=; b=maSyQDt7L9uJOQdhION68YRr+o06eyy13nTBVStVQHSDRviFJdBqjWYw Yyrrq9ThsOoUx+DO5DPHSRlkoc5+icNaKqCOqVtLJOLvqCTjyehLXHWxv cv5wWbzuNTAHyhJ0I7BaGZvRUVgjUWcxDFGKTqOvOS2iOssrycLviUfO2 gFDhmr8FmnDb0OlUDGdHN0v3cXq3Hm1Fd+rQNijyym6QkXIcSresIZyR4 wnY+JJZPc/k4CWgUAlsbQqJMEqxYeTtae3jwGYohtiAOGJ/W1WTRCFkAN 2+luX6iX5H8r6xIYPtBh3d3Sx8rATm/BeVWD5zsyTxrhVn1mbR90+CoaP g==; X-IronPort-AV: E=McAfee;i="6600,9927,10766"; a="367796426" X-IronPort-AV: E=Sophos;i="6.01,194,1684825200"; d="scan'208";a="367796426" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2023 02:46:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10766"; a="844813161" X-IronPort-AV: E=Sophos;i="6.01,194,1684825200"; d="scan'208";a="844813161" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga004.jf.intel.com with ESMTP; 10 Jul 2023 02:46:41 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8193A1FC; Mon, 10 Jul 2023 12:46:46 +0300 (EEST) From: Andy Shevchenko To: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Bin Liu , Greg Kroah-Hartman , Andy Shevchenko , Linus Walleij Subject: [PATCH v2 1/1] usb: musb: Use read_poll_timeout() Date: Mon, 10 Jul 2023 12:46:45 +0300 Message-Id: <20230710094645.42111-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b MIME-Version: 1.0 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1770403288202262297 X-GMAIL-MSGID: 1771029148258499364 Use read_poll_timeout() instead of open coding it. In the same time, fix the typo in the error message. Reviewed-by: Linus Walleij Signed-off-by: Andy Shevchenko --- v2: added tag (Linus), bumped sleep_us to descrease number of attempts drivers/usb/musb/tusb6010.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c index cbc707fe570f..461587629bf2 100644 --- a/drivers/usb/musb/tusb6010.c +++ b/drivers/usb/musb/tusb6010.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -1029,7 +1030,7 @@ static int tusb_musb_start(struct musb *musb) void __iomem *tbase = musb->ctrl_base; unsigned long flags; u32 reg; - int i; + int ret; /* * Enable or disable power to TUSB6010. When enabling, turn on 3.3 V and @@ -1037,17 +1038,13 @@ static int tusb_musb_start(struct musb *musb) * provide then PGOOD signal to TUSB6010 which will release it from reset. */ gpiod_set_value(glue->enable, 1); - msleep(1); /* Wait for 100ms until TUSB6010 pulls INT pin down */ - i = 100; - while (i && gpiod_get_value(glue->intpin)) { - msleep(1); - i--; - } - if (!i) { - pr_err("tusb: Powerup respones failed\n"); - return -ENODEV; + ret = read_poll_timeout(gpiod_get_value, reg, !reg, 5000, 100000, true, + glue->intpin); + if (ret) { + pr_err("tusb: Powerup response failed\n"); + return ret; } spin_lock_irqsave(&musb->lock, flags);