Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp2998509pxv; Sun, 25 Jul 2021 12:52:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzDruT8cCXtVrTAJXOaWjjuyrHYuoU45GN7iwaEWsU2fByhAsEtrLEsEdDe8krsK0NZ2vAD X-Received: by 2002:a17:906:4e09:: with SMTP id z9mr14069106eju.226.1627242725311; Sun, 25 Jul 2021 12:52:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627242725; cv=none; d=google.com; s=arc-20160816; b=pfF74ge8zhbc+yjO8Dvr8lh71ptJrYNcMztNwCswGoZxsKItqGrCULU7D7s48rPy3y QSl5DUKpGbZU3McPuuMwTpoawKAHqCkHKjHBVw+6kEjOJHpR5OjzgpFg0K8ZCFchDXqm vaGYfoaQ3zfRnZkwEKwvoQwUHHm4X4uBkwzF/CTR6FvmnUs2Uaj6O7Gx2FjwmMQS+zV2 oyZvVn1AwJ0CJ2kouUNd8eSJ1thJeAHQSShyDuVYutKeMmJ3coSosS6L5bfgM5wfjh7M L6OI5L3gzFPUDe4YKL/KazF2No+lbcRtgZPOWFAvaPL/dRSzgy4BivuEhO7PyPbao5CS nNHA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=i5BgCOJgNAU6DoFg8kPSMk+qREE2YetkPFpE+syCTis=; b=Bll/mn1LAovMBD/tCN7QfXOM2WRVll+mvAX1sBE3paZ6QctjVPFLyOr6dE0IU52gSm 19p6orRJpjzWx1Hp8XMv3vnWk1vPmauKuJ3na5ri457hY8AVXavatz4NFM6REREyJe7v vI0xXGQh1z4S8+46SzLHhc/80c8lpvQMNlWfJrbefu/6z7SZRYG8Zb42mDlu94n351mj FYUzmRSiZhih/vfldd1p6T7pLFfRP1riwJmX/L7NYkZn9hdRoafafqu5aLozNuAxnG9/ anWL2troQefRroakJ6YPrLU4P6rQv+kkNCrSLxbok5wlZNk7XoesVq0vgPPHYwusXk+S aPjg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@z3ntu.xyz header.s=z3ntu header.b=n3TxW67Z; dkim=fail header.i=@z3ntu.xyz header.s=z3ntu header.b=ykkVYAzI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=z3ntu.xyz Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id my47si41333854ejc.645.2021.07.25.12.51.42; Sun, 25 Jul 2021 12:52:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@z3ntu.xyz header.s=z3ntu header.b=n3TxW67Z; dkim=fail header.i=@z3ntu.xyz header.s=z3ntu header.b=ykkVYAzI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=z3ntu.xyz Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231495AbhGYTI4 (ORCPT + 99 others); Sun, 25 Jul 2021 15:08:56 -0400 Received: from mail.z3ntu.xyz ([128.199.32.197]:34700 "EHLO mail.z3ntu.xyz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231485AbhGYTIz (ORCPT ); Sun, 25 Jul 2021 15:08:55 -0400 X-Greylist: delayed 502 seconds by postgrey-1.27 at vger.kernel.org; Sun, 25 Jul 2021 15:08:55 EDT Received: by mail.z3ntu.xyz (Postfix, from userid 182) id C0121C9334; Sun, 25 Jul 2021 19:41:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=z3ntu.xyz; s=z3ntu; t=1627242060; bh=u1AvTW+JumWnj5z3TPOMBolUFzKDAp5hib1V0QDAuFw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=n3TxW67ZK4hOgD5VK73Xxo3jHiFHZ886UQ/rXxXsCdpoMRRVWsTNsX+CPfki1VJ7b g3fw5+rpbK+0AxsJdtazVFY+EyCxqsr7spvFey8i7G0vT3xvKDF2YUmTRYvs1ZI/33 ezFgPy5mQjufAhYxRZp1M0Bwi2vKI9LqZIuKLKpY= X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on arch-vps X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROM_SUSPICIOUS_NTLD, PDS_OTHER_BAD_TLD,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.6 Received: from g550jk.localnet (ip-213-127-63-121.ip.prioritytelecom.net [213.127.63.121]) by mail.z3ntu.xyz (Postfix) with ESMTPSA id 464D7C92A2; Sun, 25 Jul 2021 19:40:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=z3ntu.xyz; s=z3ntu; t=1627242034; bh=u1AvTW+JumWnj5z3TPOMBolUFzKDAp5hib1V0QDAuFw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ykkVYAzIvTEM7WbCRiI3nznm9SNWYcKVAwYQm2M++Oe0z8aIk39kWg6qdE5z1xtuO kNq0PC20ANLB+LOb1ycqAfvT4CV9AB0JplE7Qg9+k/CD7eu+fGPmFXxbqM5U3MKx5u KckAv6TLC7wgE6Wjmh2q8Y3YoiRzs4filBJ/kKi8= From: Luca Weiss To: Dmitry Torokhov , Shawn Guo Cc: Bjorn Andersson , Matteo Croce , Andrew Morton , Petr Mladek , "Rafael J . Wysocki" , linux-arm-msm@vger.kernel.org, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, Shawn Guo Subject: Re: [PATCH v2 2/2] Input: pm8941-pwrkey - Respect reboot_mode for warm reset Date: Sun, 25 Jul 2021 21:34:12 +0200 Message-ID: <3904041.pqeu4ir2bD@g550jk> In-Reply-To: <20210714095850.27185-3-shawn.guo@linaro.org> References: <20210714095850.27185-1-shawn.guo@linaro.org> <20210714095850.27185-3-shawn.guo@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Shawn, On Mittwoch, 14. Juli 2021 11:58:49 CEST Shawn Guo wrote: > On some devices, e.g. Sony Xperia M4 Aqua, warm reset is used to reboot > device into bootloader and recovery mode. Instead of always doing hard > reset, add a check on reboot_mode for possible warm reset. > > Signed-off-by: Shawn Guo Tested-by: Luca Weiss Rebooting into bootloader works on fairphone-fp2 with these commands now: $ echo warm > /sys/kernel/reboot/mode $ reboot-mode bootloader reboot-mode is this small utility: https://gitlab.com/postmarketOS/reboot-mode/-/blob/master/reboot-mode.c Regards Luca > --- > drivers/input/misc/pm8941-pwrkey.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/input/misc/pm8941-pwrkey.c > b/drivers/input/misc/pm8941-pwrkey.c index cf8104454e74..9b14d6eb1918 > 100644 > --- a/drivers/input/misc/pm8941-pwrkey.c > +++ b/drivers/input/misc/pm8941-pwrkey.c > @@ -27,6 +27,7 @@ > #define PON_PS_HOLD_RST_CTL2 0x5b > #define PON_PS_HOLD_ENABLE BIT(7) > #define PON_PS_HOLD_TYPE_MASK 0x0f > +#define PON_PS_HOLD_TYPE_WARM_RESET 1 > #define PON_PS_HOLD_TYPE_SHUTDOWN 4 > #define PON_PS_HOLD_TYPE_HARD_RESET 7 > > @@ -93,7 +94,10 @@ static int pm8941_reboot_notify(struct notifier_block > *nb, break; > case SYS_RESTART: > default: > - reset_type = PON_PS_HOLD_TYPE_HARD_RESET; > + if (reboot_mode == REBOOT_WARM) > + reset_type = PON_PS_HOLD_TYPE_WARM_RESET; > + else > + reset_type = PON_PS_HOLD_TYPE_HARD_RESET; > break; > }