From patchwork Mon Feb 20 21:22:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guilherme G. Piccoli" X-Patchwork-Id: 59676 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1519915wrn; Mon, 20 Feb 2023 13:26:44 -0800 (PST) X-Google-Smtp-Source: AK7set9e37imH5wN/dXSZV7ShPRl6V9mSVyVQ0TiMtoobQ/BYT+69nbc8q6Mv+UJhyjH4U5lS0lw X-Received: by 2002:a17:903:2291:b0:19b:33c0:4092 with SMTP id b17-20020a170903229100b0019b33c04092mr3048316plh.24.1676928404217; Mon, 20 Feb 2023 13:26:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676928404; cv=none; d=google.com; s=arc-20160816; b=MgdCoEVCxyhU2CoqLjhdO6Xme3pGk7yvvzNIw/NcHYKTqHdqG4AjhEPP65UdEfar0F OAZAJ9rWHz7KR0mw+M2TD0srdcQxOkDRghdoP3EI4kFoTDWobzChjpP+wc3aDYi0vxuO EJzWsRpVClJZO5aAEin8aK4xcxJ2Fy8f1YEms9XXOi0PYo9j28+ogBfIbG2NHJ7XHJCn wsVUC+JLV2F9knF4e/no09ZZP+mGTagSExA4IMqbeJi8FqmmpANYQCZnMB3MCQ8WKfOt w8tTMHXZ0XniV9a+qb2YAuMVDvfCzxyyT51HXzNYrC2EbbgfoI2H+zuQlFAF1U8Ea+MG tYDA== 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=g922yg1g9NH71TSdfv2O7rorl313NaV/Mj9LoIZeB/s=; b=D+x8DcEK1k+NbN6pVm3Hf2LeVqO5J4rIWBrPT0Kwjy6ONcGHX5FtciikrUJE93GbB5 pMf1ktIc3pW7ruW/Gpn9IsGbSYQQ3V42iZmwvV713dbNt9bbrACaACWATQjL0ptAwlxf S8bzVRSouEY26+zAkUoBsY7TJ85VzHFN2dYv1dTCPvZE8Hy5aDHL5ScoMDv1/gwK3/gO SQUxpfw6EVXXdpDw+Sf6GIWM9WfFuzzf7ivN3pJROuCTFoY/49mYGBo1qdRU+VbQk0eP 7sNGR23GpUnLoZYEuKs5jzuQMIIOwr0nhyOWreh9FMMrm0gi2aHpd/2tXZze6RWkqHVo bSvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=V9CoriCs; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w64-20020a638243000000b004fbf520c66bsi3654902pgd.247.2023.02.20.13.26.30; Mon, 20 Feb 2023 13:26:44 -0800 (PST) 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=fail header.i=@igalia.com header.s=20170329 header.b=V9CoriCs; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232261AbjBTVXL (ORCPT + 99 others); Mon, 20 Feb 2023 16:23:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229500AbjBTVXJ (ORCPT ); Mon, 20 Feb 2023 16:23:09 -0500 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 229A055A5; Mon, 20 Feb 2023 13:23:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject: Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=g922yg1g9NH71TSdfv2O7rorl313NaV/Mj9LoIZeB/s=; b=V9CoriCseTPWK+0DD2sbU2j6M0 oxZkX5eeJlIazFmt7PaBXun4K3/wCoZPLM00CKslop5VFDuJZn7iVNTyKI9tAfdPgWK2R4vzxadyV FxbsDenxw76ZvxQDvN6NqhQqDShsEpC1yNnAqD8ZOdKcIEZrxU1Wzj2xjErzBAOd4jJkKikyY7/t+ HGATqu1ePZEJGzaNiNizu3VGPKfowEKsrv62XumULwHIbiz3XjcYa0E/cbNTFbWPjVO69pxNGtAJ5 7rAToGttlJUbK6u/V+h3UAj/mtTTZx5ealfEbGbVYzVsC/NWXsHJjDKDmQNf+ezD0dbT6DiQfTHi+ tWF3uNYw==; Received: from [179.232.147.2] (helo=localhost) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1pUDck-0099On-LB; Mon, 20 Feb 2023 22:23:03 +0100 From: "Guilherme G. Piccoli" To: linux-alpha@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-dev@igalia.com, kernel@gpiccoli.net, "Guilherme G. Piccoli" , Ivan Kokshaysky , Matt Turner , Richard Henderson , Petr Mladek Subject: [PATCH v4] alpha: Clean-up the panic notifier code Date: Mon, 20 Feb 2023 18:22:45 -0300 Message-Id: <20230220212245.153554-1-gpiccoli@igalia.com> X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS 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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1758386878287031879?= X-GMAIL-MSGID: =?utf-8?q?1758386878287031879?= The alpha panic notifier has some code issues, not following the conventions of other notifiers. Also, it might halt the machine but still it is set to run as early as possible, which doesn't seem to be a good idea. So, let's clean the code and set the notifier to run as the latest, following the same approach other architectures are doing - also, remove the unnecessary include of a header already included indirectly. Cc: Ivan Kokshaysky Cc: Matt Turner Cc: Richard Henderson Reviewed-by: Petr Mladek Signed-off-by: Guilherme G. Piccoli --- V4: - Rebased (and build-tested) against v6.2. V3: - No changes. V2: - Fixed rth email address; - Added Petr's review tag - thanks! arch/alpha/kernel/setup.c | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c index 33bf3a627002..1eb67a67823f 100644 --- a/arch/alpha/kernel/setup.c +++ b/arch/alpha/kernel/setup.c @@ -41,19 +41,11 @@ #include #include #endif -#include #include #include #include #include -static int alpha_panic_event(struct notifier_block *, unsigned long, void *); -static struct notifier_block alpha_panic_block = { - alpha_panic_event, - NULL, - INT_MAX /* try to do it first */ -}; - #include #include #include @@ -435,6 +427,21 @@ static const struct sysrq_key_op srm_sysrq_reboot_op = { }; #endif +static int alpha_panic_event(struct notifier_block *this, + unsigned long event, void *ptr) +{ + /* If we are using SRM and serial console, just hard halt here. */ + if (alpha_using_srm && srmcons_output) + __halt(); + + return NOTIFY_DONE; +} + +static struct notifier_block alpha_panic_block = { + .notifier_call = alpha_panic_event, + .priority = INT_MIN, /* may not return, do it last */ +}; + void __init setup_arch(char **cmdline_p) { @@ -1427,19 +1434,6 @@ const struct seq_operations cpuinfo_op = { .show = show_cpuinfo, }; - -static int -alpha_panic_event(struct notifier_block *this, unsigned long event, void *ptr) -{ -#if 1 - /* FIXME FIXME FIXME */ - /* If we are using SRM and serial console, just hard halt here. */ - if (alpha_using_srm && srmcons_output) - __halt(); -#endif - return NOTIFY_DONE; -} - static __init int add_pcspkr(void) { struct platform_device *pd;