From patchwork Mon Nov 9 12:10:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Lee X-Patchwork-Id: 321728 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, UNPARSEABLE_RELAY, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45D6CC2D0A3 for ; Mon, 9 Nov 2020 12:10:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 04BDD2084C for ; Mon, 9 Nov 2020 12:10:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729800AbgKIMKv (ORCPT ); Mon, 9 Nov 2020 07:10:51 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:54059 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729451AbgKIMKu (ORCPT ); Mon, 9 Nov 2020 07:10:50 -0500 X-Alimail-AntiSpam: AC=CONTINUE; BC=0.5283855|-1; CH=green; DM=|CONTINUE|false|; DS=CONTINUE|ham_system_inform|0.0188708-0.00136702-0.979762; FP=0|0|0|0|0|-1|-1|-1; HT=ay29a033018047203; MF=frank@allwinnertech.com; NM=1; PH=DS; RN=6; RT=6; SR=0; TI=SMTPD_---.IuVM-82_1604923842; Received: from allwinnertech.com(mailfrom:frank@allwinnertech.com fp:SMTPD_---.IuVM-82_1604923842) by smtp.aliyun-inc.com(10.147.42.22); Mon, 09 Nov 2020 20:10:46 +0800 From: Frank Lee To: sre@kernel.org, wens@csie.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, tiny.windzz@gmail.com Cc: Yangtao Li Subject: [PATCH 1/3] power: supply: axp20x_usb_power: fix typo Date: Mon, 9 Nov 2020 20:10:38 +0800 Message-Id: <20201109121038.17840-1-frank@allwinnertech.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Yangtao Li s/on on/on Signed-off-by: Yangtao Li --- drivers/power/supply/axp20x_usb_power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c index 0eaa86c52874..3b4fd710347d 100644 --- a/drivers/power/supply/axp20x_usb_power.c +++ b/drivers/power/supply/axp20x_usb_power.c @@ -397,7 +397,7 @@ static int axp20x_usb_power_prop_writeable(struct power_supply *psy, struct axp20x_usb_power *power = power_supply_get_drvdata(psy); /* - * The VBUS path select flag works differently on on AXP288 and newer: + * The VBUS path select flag works differently on AXP288 and newer: * - On AXP20x and AXP22x, the flag enables VBUS (ignoring N_VBUSEN). * - On AXP288 and AXP8xx, the flag disables VBUS (ignoring N_VBUSEN). * We only expose the control on variants where it can be used to force From patchwork Mon Nov 9 12:11:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Lee X-Patchwork-Id: 323423 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, UNPARSEABLE_RELAY, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62B72C4741F for ; Mon, 9 Nov 2020 12:11:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1DFD2204EC for ; Mon, 9 Nov 2020 12:11:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729541AbgKIMLR (ORCPT ); Mon, 9 Nov 2020 07:11:17 -0500 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:36774 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727303AbgKIMLR (ORCPT ); Mon, 9 Nov 2020 07:11:17 -0500 X-Alimail-AntiSpam: AC=CONTINUE; BC=0.09605445|-1; CH=green; DM=|CONTINUE|false|; DS=CONTINUE|ham_system_inform|0.0380702-0.0163614-0.945568; FP=0|0|0|0|0|-1|-1|-1; HT=ay29a033018047213; MF=frank@allwinnertech.com; NM=1; PH=DS; RN=6; RT=6; SR=0; TI=SMTPD_---.IuVJ-Tc_1604923868; Received: from allwinnertech.com(mailfrom:frank@allwinnertech.com fp:SMTPD_---.IuVJ-Tc_1604923868) by smtp.aliyun-inc.com(10.147.40.44); Mon, 09 Nov 2020 20:11:12 +0800 From: Frank Lee To: sre@kernel.org, wens@csie.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, tiny.windzz@gmail.com Cc: Yangtao Li Subject: [PATCH 2/3] power: supply: axp20x_usb_power: Use power efficient workqueue for debounce Date: Mon, 9 Nov 2020 20:11:04 +0800 Message-Id: <20201109121104.18201-1-frank@allwinnertech.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Yangtao Li The debounce timeout is generally quite long and the work not performance critical so allow the scheduler to run the work anywhere rather than in the normal per-CPU workqueue. Signed-off-by: Yangtao Li --- drivers/power/supply/axp20x_usb_power.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/power/supply/axp20x_usb_power.c b/drivers/power/supply/axp20x_usb_power.c index 3b4fd710347d..70b28b699a80 100644 --- a/drivers/power/supply/axp20x_usb_power.c +++ b/drivers/power/supply/axp20x_usb_power.c @@ -92,7 +92,7 @@ static irqreturn_t axp20x_usb_power_irq(int irq, void *devid) power_supply_changed(power->supply); - mod_delayed_work(system_wq, &power->vbus_detect, DEBOUNCE_TIME); + mod_delayed_work(system_power_efficient_wq, &power->vbus_detect, DEBOUNCE_TIME); return IRQ_HANDLED; } @@ -117,7 +117,7 @@ static void axp20x_usb_power_poll_vbus(struct work_struct *work) out: if (axp20x_usb_vbus_needs_polling(power)) - mod_delayed_work(system_wq, &power->vbus_detect, DEBOUNCE_TIME); + mod_delayed_work(system_power_efficient_wq, &power->vbus_detect, DEBOUNCE_TIME); } static int axp20x_get_current_max(struct axp20x_usb_power *power, int *val) @@ -525,7 +525,7 @@ static int axp20x_usb_power_resume(struct device *dev) while (i < power->num_irqs) enable_irq(power->irqs[i++]); - mod_delayed_work(system_wq, &power->vbus_detect, DEBOUNCE_TIME); + mod_delayed_work(system_power_efficient_wq, &power->vbus_detect, DEBOUNCE_TIME); return 0; } @@ -647,7 +647,7 @@ static int axp20x_usb_power_probe(struct platform_device *pdev) INIT_DELAYED_WORK(&power->vbus_detect, axp20x_usb_power_poll_vbus); if (axp20x_usb_vbus_needs_polling(power)) - queue_delayed_work(system_wq, &power->vbus_detect, 0); + queue_delayed_work(system_power_efficient_wq, &power->vbus_detect, 0); return 0; }