From patchwork Fri Jun 9 02:22:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 105252 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp670487vqr; Thu, 8 Jun 2023 19:36:43 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6RJB+DJFU2r/WtoRH2rOecXTgo7bj/7WVH5g8O5behCYEKZHTGb66oRBViv9nEctcAfrqO X-Received: by 2002:a05:6a00:2342:b0:659:f4ed:42bc with SMTP id j2-20020a056a00234200b00659f4ed42bcmr662813pfj.4.1686278203296; Thu, 08 Jun 2023 19:36:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686278203; cv=none; d=google.com; s=arc-20160816; b=NgJ0z6m0RrsViC5K7cjhkluTASnchaCtwXGghvBRiWwKmj7ElwPpS9ro66jjQk2a79 CbeVx+TgxxYCDHFyml7MMX9EzrtFDO7klEHzaOiJy+P8neZkE6nPhGmG/u++wzp9l4Os 3ZKb8Du+BmM612P1TyIbD+mVd3UaF+0HhiTFvCjO2mGt12n2+by9+ZvX6atQpH+B+awe NrclTRq88GaV9eSIFdcTvyKmx6yPau5tuOAsB2YHxGOOvkbLYLBWynBPVOSDJfaxMls5 wme5LQJA3IGNpGmLadTbUNYQoUsRLAdtZ7jgN8YgIKd06Ic5JD6r1dy4XQuyBWfn5IAR ImBQ== 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; bh=aZNQ2dwun9ILIVzofEMrA4Cmr+QYtV0Q1ZZ8saKo7xw=; b=L8y4n9pCy/XbMv2jfSFnDHO/k38vlpGMx1zL/yg3Mkoy2czxErWvpqGd3HOlB3FXFd eyzDLn88jgurXphot64Td7Uzp7jVgUJcQcLgUJIpc/0dtQP1Lvwc+wD2ZVwrscxa3NtS /E4Kz8bcJJwnww0tjmNfs76HEm0ODFSyKYaSlCh6iPWJ6BRTJ8t1Gtce5pVERKY+X88M YJ0gImHVX6zSIbunSOjtiIdfTLjug5YSfBbJX8AWyEd+GWygMBxf47msk/oBgL9JGo6e gon8aPJ3wgcZo9Bz1QkhdP1gf/XImshMs4EMqb56MwP3tslals9gJcf6Zl2tEXdvtOlC KYkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b="WkDwkn1/"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l23-20020a639857000000b00542c0357ee3si1870939pgo.714.2023.06.08.19.36.30; Thu, 08 Jun 2023 19:36:43 -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=@gmail.com header.s=20221208 header.b="WkDwkn1/"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237598AbjFICW6 (ORCPT + 99 others); Thu, 8 Jun 2023 22:22:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39990 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229506AbjFICW4 (ORCPT ); Thu, 8 Jun 2023 22:22:56 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 57D772722 for ; Thu, 8 Jun 2023 19:22:55 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1b038064d97so2597465ad.0 for ; Thu, 08 Jun 2023 19:22:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686277374; x=1688869374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aZNQ2dwun9ILIVzofEMrA4Cmr+QYtV0Q1ZZ8saKo7xw=; b=WkDwkn1/WB5jnSlCxQ4wkHE9sI0ZarvkXYG1ZCyFEDDaYxLP8JNBxejq113NJeo2Lk NOCHF+B/xT4QnJQhPwvxpW3bEXoEyjZGFjDbNOy3wJMoFuxNrBgx3Pnq/szGIq2mxUA0 i9FMVWC+tyQQ8Co47k0gKlO28s/VtvPxZpHOLdDag0vxKEEVgRunAZY87UngMjK4QIbs hOJ4BHCkSzanrNFHjoncETCv6/jll9CTbZMtyLLHKAJsErlfysr1BF6Js9kGZn/I2+vw 3/p/fISchG41ic2iKqtaMxpql6H7IQ/PgZ2BfRJZ9ki4E+PNKkbyxIhdj5mzG8iJnpjc dovA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686277374; x=1688869374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aZNQ2dwun9ILIVzofEMrA4Cmr+QYtV0Q1ZZ8saKo7xw=; b=XiXEB4lZ5wtct658L6aWm6XrDK1IGaqD19nOaaUGBsrZhSqVCQwvo6UsAo0MxfVV1W zUf4/EnCNI2PGs9RzQHTO5idFF55G2Pksrkl1jqCCbkfP0Rb/saf0vazMv4WZVofcoEZ kvnBIrj4JrcwBFqU/dzllATfZWjrLPuTXLyuQlk2sip9MqvrImpdSrv+4amAG5ef+2Cg zc/lDtUWIKNPdbppJHkI2mpso8sZ7Iaw4TaVaTSdxc5kbYJ1XJCt7cYDoJURTS3aZpC6 RJ16anjuoKDv2pVOPkjytlLGhgS5vBV7arAQEGPArISpNGQuZBkbqsyR6h2/4m/RcirO rg6Q== X-Gm-Message-State: AC+VfDyJBrDNthQRJJEuFlKTP+zU900K6zQzXowQCH3t1Z9IE4QHOX53 bZP0f2E7HdwREqk4gsgWOBSZgjrIGmM= X-Received: by 2002:a17:903:2444:b0:1ac:a88a:70b6 with SMTP id l4-20020a170903244400b001aca88a70b6mr4458110pls.31.1686277374452; Thu, 08 Jun 2023 19:22:54 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net ([2601:641:401:1d20:3aa3:2af1:e3f1:5039]) by smtp.gmail.com with ESMTPSA id w22-20020a1709027b9600b001ac95be5081sm2014846pll.307.2023.06.08.19.22.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jun 2023 19:22:53 -0700 (PDT) From: Max Filippov To: linux-kernel@vger.kernel.org Cc: Chris Zankel , Max Filippov Subject: [PATCH 1/5] xtensa: xt2000: drop empty platform_init Date: Thu, 8 Jun 2023 19:22:36 -0700 Message-Id: <20230609022240.1694244-2-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230609022240.1694244-1-jcmvbkbc@gmail.com> References: <20230609022240.1694244-1-jcmvbkbc@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, FROM_LOCAL_NOVOWEL,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768190853067647595?= X-GMAIL-MSGID: =?utf-8?q?1768190853067647595?= platform_init doesn't do anything for xt2000, drop it. Signed-off-by: Max Filippov --- arch/xtensa/platforms/xt2000/setup.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/arch/xtensa/platforms/xt2000/setup.c b/arch/xtensa/platforms/xt2000/setup.c index 0dc22c371614..08bc9b0ede3e 100644 --- a/arch/xtensa/platforms/xt2000/setup.c +++ b/arch/xtensa/platforms/xt2000/setup.c @@ -68,12 +68,6 @@ void __init platform_setup(char** cmdline) led_print (0, "LINUX "); } -/* early initialization */ - -void __init platform_init(bp_tag_t *first) -{ -} - /* Heartbeat. Let the LED blink. */ void platform_heartbeat(void) From patchwork Fri Jun 9 02:22:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 105249 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp669087vqr; Thu, 8 Jun 2023 19:31:44 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6oiWfUb5zDXnRNh0u5Ko1S3B8GbYQSzBjLEw42tnQXZtznQsbhcMGh7CwisCHWgShJRhCo X-Received: by 2002:a05:6a20:e48d:b0:118:62d9:b0a6 with SMTP id ni13-20020a056a20e48d00b0011862d9b0a6mr46740pzb.4.1686277903687; Thu, 08 Jun 2023 19:31:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686277903; cv=none; d=google.com; s=arc-20160816; b=DVSyvm5ajeRGYrGZqtcMDLtRhHW2zmWEonuiuaBiC0o46m/BKieAR+rrL1VgZkEK5U WuLy/1JzGGISHZLE0YyIO3IqGXSJUSwv5CZNzf3LfuOHNmcf02sz6FmTUOoZF6nTDg/U anSIlKVp5u0BCCqJ1nXWQOpZzY3CpAB80EAn0Llq0eWNWj51Qv8X/8beFMpyt1d9br5Q eielE8pDy1T9BYF0BODe5usnvSPYG0h2x4JBjF40DdCe+36y8qXFcV5NClcwH8hedBkL YQxuzYcybAlhfdNzR4/mf+cwz+Oe/dFhhgUIKAfOjBy8TwzbeiDOU9GH4XdTAeDpUv0f 8iRg== 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; bh=9eV2XvsxLQ0E9qrsqopG7ODwdkJbzczV5YNgpOsdmco=; b=W3s+dWmfk8/xZ0mNay/tl7akHvi/37EqI0i/5KGA9trRBILLXEQmnK0FK0exIccj69 JfONfkT3n5Yo4NC4kjYnnquQ3IMEkRT24l6J/DPUPsUS/iBRzaEb402prJ8HQvORD1y7 BEOo1+Z+3xZOxEj40i9IlPUqkJZ4wLIkDpSCg6i5aQkXHSELnr0X5Zusd55XAEkf+otf gjunO2fuG9FykdJ+ZDiQgbDj6GH9MQuDbrtBhPDTLK4SwnB75cEPGKU1nu471Gdn9FvP zu5Hoq5OnMAohWt8ECZlgRb9kVBhmdfBjP4/7E0a6F5qzZ8KWAeLe+tvvOwn0kO3r8vG KFag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=DG7GdmfB; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g9-20020a170902740900b001afdfd0b363si1878078pll.489.2023.06.08.19.31.30; Thu, 08 Jun 2023 19:31:43 -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=@gmail.com header.s=20221208 header.b=DG7GdmfB; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234442AbjFICXE (ORCPT + 99 others); Thu, 8 Jun 2023 22:23:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237455AbjFICW5 (ORCPT ); Thu, 8 Jun 2023 22:22:57 -0400 Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8EB3A2D4B for ; Thu, 8 Jun 2023 19:22:56 -0700 (PDT) Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-653f9c7b3e4so1008313b3a.2 for ; Thu, 08 Jun 2023 19:22:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686277376; x=1688869376; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9eV2XvsxLQ0E9qrsqopG7ODwdkJbzczV5YNgpOsdmco=; b=DG7GdmfBqWct0Fj+1gBvLY2unB5NKJdFqCL67rIJb/Yp3nXPbYwQfT+Iu5j7dWK6qo DyWqXUZXEmLcScuEbSTjhJf02gnORCpcru1kYgMdNaZY6BYS978lYXCzlgerMzYJBDdh eGeXNP0CsIuGf5y9q/TjL6mCcseiXlhF6RGIumeLC82e/CiMcDlPsCPJtAC/U44oi+Hw BEMboGBo5VcFesVHponWoLh+XSPmKRUKqgHGBQ44hGHLBeeUeo7/JHAjd6OsULIggfwq Ds3EF+5dyTnwMCKudaz0fv0pebk3rveZCWCft0nbpcdBmZC3KsRriEa67+IFTnNXv7l4 mawg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686277376; x=1688869376; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9eV2XvsxLQ0E9qrsqopG7ODwdkJbzczV5YNgpOsdmco=; b=Yi9q6bUE8BnK7vKN1ULl3KDX88Kgq/wzA2YIGuTRaktlA8F/nsJmVeKK8iu3SZ2Mnu meXPQxUxdsus7FkELp/DlzQVMBaYPPF23yCg0arGmBZ5lCwyOdTtCObuB5V/Nn9EqCJC F6UnbdrJHQ5at2MkQh/LAg+FAtgnvBDKG6lmxj8AA3q9JKUI1yirp3oH3178wnSJ+2Gk had2WavGtuwBdC0VPZbxv7wcgTXjcYyhziEtfrQ+N/MznMwYpnEn6kGHbFbPB6YTI2tK yU/J6baA7rYfMUwYQ985vM3czDjeVZOqfzCMgf309Urg7WO5F6lzCNsgWm0B7LpDZzNm fFKQ== X-Gm-Message-State: AC+VfDz/VA9yg1e73xIjQki3Z9AEgDPouba6ivEHvdeFxQR/Q+ii8ASB rRrutOJXxowlB8bM8rBWOobej9IJJPY= X-Received: by 2002:a05:6a20:c183:b0:10c:7c72:bdf9 with SMTP id bg3-20020a056a20c18300b0010c7c72bdf9mr12833pzb.29.1686277375755; Thu, 08 Jun 2023 19:22:55 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net ([2601:641:401:1d20:3aa3:2af1:e3f1:5039]) by smtp.gmail.com with ESMTPSA id w22-20020a1709027b9600b001ac95be5081sm2014846pll.307.2023.06.08.19.22.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jun 2023 19:22:54 -0700 (PDT) From: Max Filippov To: linux-kernel@vger.kernel.org Cc: Chris Zankel , Max Filippov Subject: [PATCH 2/5] xtensa: drop platform_heartbeat Date: Thu, 8 Jun 2023 19:22:37 -0700 Message-Id: <20230609022240.1694244-3-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230609022240.1694244-1-jcmvbkbc@gmail.com> References: <20230609022240.1694244-1-jcmvbkbc@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, FROM_LOCAL_NOVOWEL,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768190539315807324?= X-GMAIL-MSGID: =?utf-8?q?1768190539315807324?= platform_heartbeat is called from the timer interrupt handler, but there may be no periodic timer interrupts on xtensa, so the frequency of platform_heartbeat calls may be unrelated to HZ. Drop the callback and reimplement its only user with a timer. Signed-off-by: Max Filippov --- arch/xtensa/include/asm/platform.h | 5 ----- arch/xtensa/kernel/platform.c | 1 - arch/xtensa/kernel/time.c | 4 ---- arch/xtensa/platforms/xt2000/setup.c | 20 +++++++++++--------- 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/arch/xtensa/include/asm/platform.h b/arch/xtensa/include/asm/platform.h index 354ca942de40..3be6b4bf9763 100644 --- a/arch/xtensa/include/asm/platform.h +++ b/arch/xtensa/include/asm/platform.h @@ -47,11 +47,6 @@ extern void platform_power_off (void); */ extern void platform_idle (void); -/* - * platform_heartbeat is called every HZ - */ -extern void platform_heartbeat (void); - /* * platform_calibrate_ccount calibrates cpu clock freq (CONFIG_XTENSA_CALIBRATE) */ diff --git a/arch/xtensa/kernel/platform.c b/arch/xtensa/kernel/platform.c index ac1e0e566995..bb4d426ebb44 100644 --- a/arch/xtensa/kernel/platform.c +++ b/arch/xtensa/kernel/platform.c @@ -32,7 +32,6 @@ _F(void, restart, (void), { while(1); }); _F(void, halt, (void), { while(1); }); _F(void, power_off, (void), { while(1); }); _F(void, idle, (void), { __asm__ __volatile__ ("waiti 0" ::: "memory"); }); -_F(void, heartbeat, (void), { }); #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT _F(void, calibrate_ccount, (void), diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c index 16b8a6273772..1c3dfea843ec 100644 --- a/arch/xtensa/kernel/time.c +++ b/arch/xtensa/kernel/time.c @@ -121,10 +121,6 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id) set_linux_timer(get_linux_timer()); evt->event_handler(evt); - - /* Allow platform to do something useful (Wdog). */ - platform_heartbeat(); - return IRQ_HANDLED; } diff --git a/arch/xtensa/platforms/xt2000/setup.c b/arch/xtensa/platforms/xt2000/setup.c index 08bc9b0ede3e..dc187684203b 100644 --- a/arch/xtensa/platforms/xt2000/setup.c +++ b/arch/xtensa/platforms/xt2000/setup.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -70,16 +71,17 @@ void __init platform_setup(char** cmdline) /* Heartbeat. Let the LED blink. */ -void platform_heartbeat(void) +static void xt2000_heartbeat(struct timer_list *unused); + +static DEFINE_TIMER(heartbeat_timer, xt2000_heartbeat); + +static void xt2000_heartbeat(struct timer_list *unused) { - static int i, t; + static int i; - if (--t < 0) - { - t = 59; - led_print(7, i ? ".": " "); - i ^= 1; - } + led_print(7, i ? "." : " "); + i ^= 1; + mod_timer(&heartbeat_timer, jiffies + HZ / 2); } //#define RS_TABLE_SIZE 2 @@ -137,7 +139,7 @@ static int __init xt2000_setup_devinit(void) { platform_device_register(&xt2000_serial8250_device); platform_device_register(&xt2000_sonic_device); - + mod_timer(&heartbeat_timer, jiffies + HZ / 2); return 0; } From patchwork Fri Jun 9 02:22:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 105250 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp669210vqr; Thu, 8 Jun 2023 19:32:06 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4I4/7sTgDWF/b0RZZCpT2jOaWhHq1nK+Yx5XiaIGUaPeMQNkvhf6JhqjgSOlIDRuIfKs+Y X-Received: by 2002:a17:90a:7d01:b0:256:2526:2de5 with SMTP id g1-20020a17090a7d0100b0025625262de5mr4513817pjl.13.1686277925836; Thu, 08 Jun 2023 19:32:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686277925; cv=none; d=google.com; s=arc-20160816; b=rC2cR0Nk3arCi78OuV8JUSPAfvg4A7QW/4jt5k3ouocJUKLtlM+p9N7fdJwjptLZKA J3jp+ichn0PY05q+R5w5j1X/VnMI8m7bNaznovRDpCyPdpum2NAxaVNmuE1T0BvBXNTQ 3cwjCaURaY7vUqgmiVETTaq8WBnnOPQ3TIC+owK4B8OAkJehQ+O8HxR1Gk5iE8vxStg1 syOjz4u8kaMDoEESN8NFR/077zSEtYtW5Rg/jOGAikPfI9lxPR+LFLMGvRds4gNNBamz OyJJh9xVQhzvGf4L1xqJZUbFEirjalnloweAuPITN74yprLDO9HkFA0jHpsKSOuwfhsM TkOQ== 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; bh=TCtYwAZA3V/mmKNvKuucQTbNEzv8gSVajwtWxzirv6E=; b=rvS4CUqRj9cDyzfVC/MUmCtByX+ymnBryRFEXjWIHANkFsIKahJh6rn0hWsKfU5xcY GdOlJQa0ENaCuSyEVWcf8G0dF074Zn1LFdHUWREyVPyk32QpPIqLW8fWFnwgzFefYoso 0rXszGe1CuotoAi6KaZw0svRlR4TXUV7V1cdohQt6wbfgBdB+L1ztJ0WwwpIKFfPBmr7 I3T4OyIJtqeqfnJhh/p4LB9fIezYnr2skkyW2lmQ0jkRY9jQ9XxXYpnYwkW0Yz2qpIr1 75pBbFWhZBoIceUyNfotjZN9sHj0p75JtW8up4NM9EzEXEVXCIdJEd0u+SfWM5HKIpG+ c3lg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=XSfUX99q; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ne5-20020a17090b374500b00255d3de568asi1968936pjb.13.2023.06.08.19.31.53; Thu, 08 Jun 2023 19:32:05 -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=@gmail.com header.s=20221208 header.b=XSfUX99q; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238246AbjFICXJ (ORCPT + 99 others); Thu, 8 Jun 2023 22:23:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237785AbjFICW6 (ORCPT ); Thu, 8 Jun 2023 22:22:58 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E4062722 for ; Thu, 8 Jun 2023 19:22:57 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1b0201d9a9eso2624475ad.0 for ; Thu, 08 Jun 2023 19:22:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686277377; x=1688869377; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TCtYwAZA3V/mmKNvKuucQTbNEzv8gSVajwtWxzirv6E=; b=XSfUX99qrk64VZR9SPQM0V4bTRmc6dyG6OrJMZ1LJbVCt4UlAalzVlY6G6Dvo+WEme HJGwIRe3wQ9HCRzzhaanhNgI5aqOGa+1Eblt6Vdv8AqROmG6WWwgr4KKzPViLeY7Rlwb 4cak8//B0AqPF6Fz00TrpYj42kZWk2BDL+9CejDRaQ2rGDEYLPocRJ3sgFK1Vxn6heNF 2VZusDDvR00WsgJx5+p5dCIkR62b4+x+olCcSOjdK7iM2nZ5W+RH0X/u/dHNy2kCQvOa XFo1rja69FSOKGZWJ47yNhoDS2zuUr3MetXJgMlE+t8rl1WomAVytrWPZjcOb5fsZsss bTjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686277377; x=1688869377; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TCtYwAZA3V/mmKNvKuucQTbNEzv8gSVajwtWxzirv6E=; b=IEaWzGxbrrnOr6iIoCKVbL+d0Ggvk2L13dWXK61iq2oJYp7MEDErLHoim+0VNPLMDW fIU6cIRuHrLyf2NpKeGkV+JrM+TKZDhzEBK4YIRrNg3gZ8OFXpb4YzW1QmygvWp6/HPK LC8kiNqLX6jqjjjPP8gSoNSv7owpRVkZNLd1OWaiJujozWe7z309qJJUr6paF+/857sp Zz8+QRvBiCnWW/nryGaM5mykNOySBvIdQu1tBsuhUHbsCBmmKuqnTovHEYsgbz8RDyWv SJmKdCH4roQckW+66G+aIhLT7cG7sVnHh2oUN0/bSxXXVMWx1sgQLQlGlFNmRa91TYEy 0v/Q== X-Gm-Message-State: AC+VfDyyPW0lZIHSTlJT20m1ZRLriRaPRq/Qbw0DdwZGQuOj8qDaMYDi jsraTvzaO9hXvzOoaeKm8sljUc3Skt4= X-Received: by 2002:a17:902:d2c9:b0:1b2:3e9f:69d1 with SMTP id n9-20020a170902d2c900b001b23e9f69d1mr4632603plc.18.1686277376822; Thu, 08 Jun 2023 19:22:56 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net ([2601:641:401:1d20:3aa3:2af1:e3f1:5039]) by smtp.gmail.com with ESMTPSA id w22-20020a1709027b9600b001ac95be5081sm2014846pll.307.2023.06.08.19.22.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jun 2023 19:22:56 -0700 (PDT) From: Max Filippov To: linux-kernel@vger.kernel.org Cc: Chris Zankel , Max Filippov Subject: [PATCH 3/5] xtensa: drop platform_restart Date: Thu, 8 Jun 2023 19:22:38 -0700 Message-Id: <20230609022240.1694244-4-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230609022240.1694244-1-jcmvbkbc@gmail.com> References: <20230609022240.1694244-1-jcmvbkbc@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, FROM_LOCAL_NOVOWEL,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768190561904832034?= X-GMAIL-MSGID: =?utf-8?q?1768190561904832034?= Instead of using xtensa-specific platform_restart callback use do_kernel_restart in the machine_restart implementation and reimplement existing platform_restart users with register_restart_handler. Drop platform_restart declaration and default implementation. Signed-off-by: Max Filippov --- arch/xtensa/include/asm/platform.h | 5 ----- arch/xtensa/kernel/platform.c | 1 - arch/xtensa/kernel/setup.c | 8 +++++++- arch/xtensa/platforms/iss/setup.c | 12 ++++++++++-- arch/xtensa/platforms/xt2000/setup.c | 11 +++++++++-- arch/xtensa/platforms/xtfpga/setup.c | 20 ++++++++++++++++++-- 6 files changed, 44 insertions(+), 13 deletions(-) diff --git a/arch/xtensa/include/asm/platform.h b/arch/xtensa/include/asm/platform.h index 3be6b4bf9763..5b3c1f96f7b5 100644 --- a/arch/xtensa/include/asm/platform.h +++ b/arch/xtensa/include/asm/platform.h @@ -27,11 +27,6 @@ extern void platform_init(bp_tag_t*); */ extern void platform_setup (char **); -/* - * platform_restart is called to restart the system. - */ -extern void platform_restart (void); - /* * platform_halt is called to stop the system and halt. */ diff --git a/arch/xtensa/kernel/platform.c b/arch/xtensa/kernel/platform.c index bb4d426ebb44..526ab744271f 100644 --- a/arch/xtensa/kernel/platform.c +++ b/arch/xtensa/kernel/platform.c @@ -28,7 +28,6 @@ _F(void, init, (bp_tag_t *first), { }); _F(void, setup, (char** cmd), { }); -_F(void, restart, (void), { while(1); }); _F(void, halt, (void), { while(1); }); _F(void, power_off, (void), { while(1); }); _F(void, idle, (void), { __asm__ __volatile__ ("waiti 0" ::: "memory"); }); diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 9191738f9941..8f72039335c2 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -522,7 +523,12 @@ void cpu_reset(void) void machine_restart(char * cmd) { - platform_restart(); + local_irq_disable(); + smp_send_stop(); + do_kernel_restart(cmd); + pr_err("Reboot failed -- System halted\n"); + while (1) + cpu_relax(); } void machine_halt(void) diff --git a/arch/xtensa/platforms/iss/setup.c b/arch/xtensa/platforms/iss/setup.c index d3433e1bb94e..a7009f223ef2 100644 --- a/arch/xtensa/platforms/iss/setup.c +++ b/arch/xtensa/platforms/iss/setup.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -36,14 +37,20 @@ void platform_power_off(void) simc_exit(0); } -void platform_restart(void) +static int iss_restart(struct notifier_block *this, + unsigned long event, void *ptr) { /* Flush and reset the mmu, simulate a processor reset, and * jump to the reset vector. */ cpu_reset(); - /* control never gets here */ + + return NOTIFY_DONE; } +static struct notifier_block iss_restart_block = { + .notifier_call = iss_restart, +}; + static int iss_panic_event(struct notifier_block *this, unsigned long event, void *ptr) { @@ -82,4 +89,5 @@ void __init platform_setup(char **p_cmdline) } atomic_notifier_chain_register(&panic_notifier_list, &iss_panic_block); + register_restart_handler(&iss_restart_block); } diff --git a/arch/xtensa/platforms/xt2000/setup.c b/arch/xtensa/platforms/xt2000/setup.c index dc187684203b..71b57ab50599 100644 --- a/arch/xtensa/platforms/xt2000/setup.c +++ b/arch/xtensa/platforms/xt2000/setup.c @@ -56,14 +56,20 @@ void platform_power_off(void) while (1); } -void platform_restart(void) +static int xt2000_restart(struct notifier_block *this, + unsigned long event, void *ptr) { /* Flush and reset the mmu, simulate a processor reset, and * jump to the reset vector. */ cpu_reset(); - /* control never gets here */ + + return NOTIFY_DONE; } +static struct notifier_block xt2000_restart_block = { + .notifier_call = xt2000_restart, +}; + void __init platform_setup(char** cmdline) { led_print (0, "LINUX "); @@ -140,6 +146,7 @@ static int __init xt2000_setup_devinit(void) platform_device_register(&xt2000_serial8250_device); platform_device_register(&xt2000_sonic_device); mod_timer(&heartbeat_timer, jiffies + HZ / 2); + register_restart_handler(&xt2000_restart_block); return 0; } diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c index c79c1d09ea86..1690232c003e 100644 --- a/arch/xtensa/platforms/xtfpga/setup.c +++ b/arch/xtensa/platforms/xtfpga/setup.c @@ -49,7 +49,8 @@ void platform_power_off(void) cpu_relax(); } -void platform_restart(void) +static int xtfpga_restart(struct notifier_block *this, + unsigned long event, void *ptr) { /* Try software reset first. */ WRITE_ONCE(*(u32 *)XTFPGA_SWRST_VADDR, 0xdead); @@ -58,9 +59,14 @@ void platform_restart(void) * simulate a processor reset, and jump to the reset vector. */ cpu_reset(); - /* control never gets here */ + + return NOTIFY_DONE; } +static struct notifier_block xtfpga_restart_block = { + .notifier_call = xtfpga_restart, +}; + #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT void __init platform_calibrate_ccount(void) @@ -70,6 +76,11 @@ void __init platform_calibrate_ccount(void) #endif +static void __init xtfpga_register_handlers(void) +{ + register_restart_handler(&xtfpga_restart_block); +} + #ifdef CONFIG_USE_OF static void __init xtfpga_clk_setup(struct device_node *np) @@ -134,6 +145,9 @@ static int __init machine_setup(void) if ((eth = of_find_compatible_node(eth, NULL, "opencores,ethoc"))) update_local_mac(eth); of_node_put(eth); + + xtfpga_register_handlers(); + return 0; } arch_initcall(machine_setup); @@ -281,6 +295,8 @@ static int __init xtavnet_init(void) pr_info("XTFPGA: Ethernet MAC %pM\n", ethoc_pdata.hwaddr); ethoc_pdata.eth_clkfreq = *(long *)XTFPGA_CLKFRQ_VADDR; + xtfpga_register_handlers(); + return 0; } From patchwork Fri Jun 9 02:22:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 105253 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp670737vqr; Thu, 8 Jun 2023 19:37:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4yHVOnRn9lcfqCBrkfpQdS9ODZg5o07NZfenRhivigdMh9nH0LvJ6h4mImAxdxy569qOrD X-Received: by 2002:a05:6808:2181:b0:39c:93e7:d5b5 with SMTP id be1-20020a056808218100b0039c93e7d5b5mr311372oib.13.1686278256765; Thu, 08 Jun 2023 19:37:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686278256; cv=none; d=google.com; s=arc-20160816; b=Tvcvrv1MjfXepyctef6f9sAaMaONRrTd0FO+nJq7bq4JcoBM4iCvYZhaG0ru3f29fp AVjvX3+PORqdK0HRTD2nQtSQldxW3M4uPuaL6pDU5hgTvXwzgIyCL/OS4eQvdnhZb9cb GA7lyeoEjtKskgg37Iqz/3wu8VZYinFc6uj5/1yJi3TIdMJuRBF96lM92eP/btG8l9Hz OaLHGKOyWrHk/Lh4zje+TfpAj+lO7w9QNIY47+uhYfcxsUj3kJCEgvP0OcJK6kNnYO+w I8FBUELFR8xSTnE5xs9Xa35pkT79JbYXv2bbcBOFJsPtlCQ1ZBtVT2oZ1j65uVr7VRZs iL3g== 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; bh=Wsq4vyLCQ78cbT52QEssPn3hTsohPnCqXULhgza1F5o=; b=Wdobmo14khWSQfZjt9bU0lMwvwhA0jHFscCFWs6GzXa3JeWPBsT40zHUNKL4Ff4sFH YPo0x1uxLS+v5vjQZszCKLalJl4hmf2SDO+3DZPwcPZL6tr3/XENkOypuEDZlRySIvsS FF0XKUfW9h+E7Cz78h4psmou52DxzeZP6Yq5zIWDfBcczLyDJJq4nxORN985+9cqx3f9 H9iVzZZziJizANWbQpEolu/ryLRXuR6K5RXNm74MrswgEHSyHLSier/VyTOUiqDxBFaV RVCfv50gFxXTGu9FtVRrrHoHqWaSbrt0+AM3fbktY6gUUd0a1pjumIa1S2mRDpvMnt1P Xn/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b="r/aT+JTd"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ne5-20020a17090b374500b00255d3de568asi1972670pjb.13.2023.06.08.19.37.24; Thu, 08 Jun 2023 19:37:36 -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=@gmail.com header.s=20221208 header.b="r/aT+JTd"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238198AbjFICXM (ORCPT + 99 others); Thu, 8 Jun 2023 22:23:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237810AbjFICW7 (ORCPT ); Thu, 8 Jun 2023 22:22:59 -0400 Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AC0272D52 for ; Thu, 8 Jun 2023 19:22:58 -0700 (PDT) Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1b026657a6fso3661305ad.0 for ; Thu, 08 Jun 2023 19:22:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686277378; x=1688869378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Wsq4vyLCQ78cbT52QEssPn3hTsohPnCqXULhgza1F5o=; b=r/aT+JTdcg6U2SJ15bsZSU1aaTesZMypDzlMc7FudyPsr61Y7mH0EyKAg2GUGKOW6K EZ1t82xBTMqYrwW5udk3T+e3LvnKXY9STVBnpeW0O5l6TrPUj2eCbdIUs5SbUhCHwQfj xHVOZNnPjitny9J6XOx4AxfRGSlKhuRGG1EraddMKFJPanZ8+brWK/ZltgncpI5xeOAb rkxKixVCXUlYa04c3fbmczbh5o1UNcnKLc9MP9NcpEjTe8vOhjTFEO5bImAmWhIrxX4x GhTyUJOmElphSIrVyphzebRQA3ACshV/eTx/t1wNZclmmWMppVSVBvZ8q3295/qhDWEf +m5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686277378; x=1688869378; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Wsq4vyLCQ78cbT52QEssPn3hTsohPnCqXULhgza1F5o=; b=ACD/JGh6GyK3ty1hCWifb/3FCctsiN67fjIS/UfrRp7VCWuPPJWYvOTAs8KfCxj/gl FhBuJlncR4Cp0FrI5zLALM/yek0134UuqMf0pUvKZnUGvLScR8ubVoOtGeBJPDMPZbXQ 0xIXkb/37UGlYMGWHMJNSECTewoVcqj1LUZ/a2DZwErEeagESXrHIupnte4vKITliDXl djWMiCGuZHvxaDvTD6jO4AABnfsuOOUekAndz2xmDCGHKRwMXToYKpaFzREd77LspySf i7l+/BzuLGDSK9IcKEh/IiTulvaw9rQNJx23H9HD8pPW6VZUlPuId0PZ95/7wLcJ50py dZJg== X-Gm-Message-State: AC+VfDxyQcJJbMILw/4hvIdUD78JfjzCNqSYYR8F3NVzmD9nZkdEpPhe r0giVPvmkbwYJTRXEFnDWzfm3hypYCw= X-Received: by 2002:a17:903:2350:b0:1ad:f138:b2f6 with SMTP id c16-20020a170903235000b001adf138b2f6mr196154plh.16.1686277377931; Thu, 08 Jun 2023 19:22:57 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net ([2601:641:401:1d20:3aa3:2af1:e3f1:5039]) by smtp.gmail.com with ESMTPSA id w22-20020a1709027b9600b001ac95be5081sm2014846pll.307.2023.06.08.19.22.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jun 2023 19:22:57 -0700 (PDT) From: Max Filippov To: linux-kernel@vger.kernel.org Cc: Chris Zankel , Max Filippov Subject: [PATCH 4/5] xtensa: drop platform_halt and platform_power_off Date: Thu, 8 Jun 2023 19:22:39 -0700 Message-Id: <20230609022240.1694244-5-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230609022240.1694244-1-jcmvbkbc@gmail.com> References: <20230609022240.1694244-1-jcmvbkbc@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, FROM_LOCAL_NOVOWEL,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768190909532387115?= X-GMAIL-MSGID: =?utf-8?q?1768190909532387115?= Instead of using xtensa-specific platform_halt and platform_power_off callbacks use do_kernel_power_off in the machine_halt and machine_power_off and reimplement existing platform_halt and platform_power_off users with register_sys_off_handler. Drop platform_halt and platform_power_off declarations and default implementations. Signed-off-by: Max Filippov --- arch/xtensa/include/asm/platform.h | 10 ---------- arch/xtensa/kernel/platform.c | 2 -- arch/xtensa/kernel/setup.c | 14 ++++++++++---- arch/xtensa/platforms/iss/setup.c | 12 +++++------- arch/xtensa/platforms/xt2000/setup.c | 13 +++++-------- arch/xtensa/platforms/xtfpga/setup.c | 14 +++++--------- 6 files changed, 25 insertions(+), 40 deletions(-) diff --git a/arch/xtensa/include/asm/platform.h b/arch/xtensa/include/asm/platform.h index 5b3c1f96f7b5..94f13fabf7cd 100644 --- a/arch/xtensa/include/asm/platform.h +++ b/arch/xtensa/include/asm/platform.h @@ -27,16 +27,6 @@ extern void platform_init(bp_tag_t*); */ extern void platform_setup (char **); -/* - * platform_halt is called to stop the system and halt. - */ -extern void platform_halt (void); - -/* - * platform_power_off is called to stop the system and power it off. - */ -extern void platform_power_off (void); - /* * platform_idle is called from the idle function. */ diff --git a/arch/xtensa/kernel/platform.c b/arch/xtensa/kernel/platform.c index 526ab744271f..29fa5d659274 100644 --- a/arch/xtensa/kernel/platform.c +++ b/arch/xtensa/kernel/platform.c @@ -28,8 +28,6 @@ _F(void, init, (bp_tag_t *first), { }); _F(void, setup, (char** cmd), { }); -_F(void, halt, (void), { while(1); }); -_F(void, power_off, (void), { while(1); }); _F(void, idle, (void), { __asm__ __volatile__ ("waiti 0" ::: "memory"); }); #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 8f72039335c2..5680391d7e35 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -533,14 +533,20 @@ void machine_restart(char * cmd) void machine_halt(void) { - platform_halt(); - while (1); + local_irq_disable(); + smp_send_stop(); + do_kernel_power_off(); + while (1) + cpu_relax(); } void machine_power_off(void) { - platform_power_off(); - while (1); + local_irq_disable(); + smp_send_stop(); + do_kernel_power_off(); + while (1) + cpu_relax(); } #ifdef CONFIG_PROC_FS diff --git a/arch/xtensa/platforms/iss/setup.c b/arch/xtensa/platforms/iss/setup.c index a7009f223ef2..0f1fe132691e 100644 --- a/arch/xtensa/platforms/iss/setup.c +++ b/arch/xtensa/platforms/iss/setup.c @@ -25,16 +25,11 @@ #include -void platform_halt(void) -{ - pr_info(" ** Called platform_halt() **\n"); - simc_exit(0); -} - -void platform_power_off(void) +static int iss_power_off(struct sys_off_data *unused) { pr_info(" ** Called platform_power_off() **\n"); simc_exit(0); + return NOTIFY_DONE; } static int iss_restart(struct notifier_block *this, @@ -90,4 +85,7 @@ void __init platform_setup(char **p_cmdline) atomic_notifier_chain_register(&panic_notifier_list, &iss_panic_block); register_restart_handler(&iss_restart_block); + register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, + SYS_OFF_PRIO_PLATFORM, + iss_power_off, NULL); } diff --git a/arch/xtensa/platforms/xt2000/setup.c b/arch/xtensa/platforms/xt2000/setup.c index 71b57ab50599..258e01a51fd8 100644 --- a/arch/xtensa/platforms/xt2000/setup.c +++ b/arch/xtensa/platforms/xt2000/setup.c @@ -42,18 +42,12 @@ static void led_print (int f, char *s) break; } -void platform_halt(void) -{ - led_print (0, " HALT "); - local_irq_disable(); - while (1); -} - -void platform_power_off(void) +static int xt2000_power_off(struct sys_off_data *unused) { led_print (0, "POWEROFF"); local_irq_disable(); while (1); + return NOTIFY_DONE; } static int xt2000_restart(struct notifier_block *this, @@ -147,6 +141,9 @@ static int __init xt2000_setup_devinit(void) platform_device_register(&xt2000_sonic_device); mod_timer(&heartbeat_timer, jiffies + HZ / 2); register_restart_handler(&xt2000_restart_block); + register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, + SYS_OFF_PRIO_DEFAULT, + xt2000_power_off, NULL); return 0; } diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c index 1690232c003e..a2432f081710 100644 --- a/arch/xtensa/platforms/xtfpga/setup.c +++ b/arch/xtensa/platforms/xtfpga/setup.c @@ -33,20 +33,13 @@ #include #include -void platform_halt(void) -{ - lcd_disp_at_pos(" HALT ", 0); - local_irq_disable(); - while (1) - cpu_relax(); -} - -void platform_power_off(void) +static int xtfpga_power_off(struct sys_off_data *unused) { lcd_disp_at_pos("POWEROFF", 0); local_irq_disable(); while (1) cpu_relax(); + return NOTIFY_DONE; } static int xtfpga_restart(struct notifier_block *this, @@ -79,6 +72,9 @@ void __init platform_calibrate_ccount(void) static void __init xtfpga_register_handlers(void) { register_restart_handler(&xtfpga_restart_block); + register_sys_off_handler(SYS_OFF_MODE_POWER_OFF, + SYS_OFF_PRIO_DEFAULT, + xtfpga_power_off, NULL); } #ifdef CONFIG_USE_OF From patchwork Fri Jun 9 02:22:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Max Filippov X-Patchwork-Id: 105251 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp669298vqr; Thu, 8 Jun 2023 19:32:24 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5kxJvwcm1h+kKiPBg6akS/R4RiqgOVfX8lrxFgX1j2wWJDMF5BrC6WZF7+39b+zXZaXUwS X-Received: by 2002:a54:4789:0:b0:39a:bf5a:dcbf with SMTP id o9-20020a544789000000b0039abf5adcbfmr255646oic.49.1686277944068; Thu, 08 Jun 2023 19:32:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686277944; cv=none; d=google.com; s=arc-20160816; b=xv3xdETuURZG4GB9toxW+L1y2vysQBy07DWTX+YTTkcG3uHsebvYLHIlhtY7c4cHeS /6Stzz9tCcC178pwFHfWWZ+lnLwq2eWV/zTAEJhErYf2meqTQX6Dx6s98cX1lrIJEX3U J92g8zdkQQdpFw6OILsrcSMgtkFM1uTE4b148NC2suCNJk0CRUf4XwYcf6yZP5eM/USA XymL3SUa7n4f9shxxPQloZU41niUYsQuVLl7I239yBv37VJryIhJb/+hw62lRzjtekad xcXvW6dy3m5mySC7s3beqqVseSXfsCqlwdrkl18PQBe8/fKjDlFb/4Px8h9f/aoREycp edOw== 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; bh=sUVBNCQGyo+QN3Hkp2oJ23QwW9HMZGUB1INfMEzS56M=; b=jgrSNIeCGubgegyFnbQE5C23Y69P49CnKrFHbbF6C5Xyz67PdQm5Ap9kOajPZ8EOQS 0hnwtdLySSH24DqoPiRrAcTZVxRUeSYa7EdypOsM19GTaMPV9ioOTvKpY0glbXnznlvO ajslkd1BYMUNR8BEnTbdzO3cNytUTr8Cmdg/uZ18JVUg4RrE9gxhfiV7y6xf8uwtEC/E GtCoSHLrrBMvInHjTE1R2RLKYJre1nCJ4ncd0H2/OaGAc5KEmhBY2LAV8SoCdiYnr2F4 qpI3bynZMVNj+bvKPrXxzY6AKIrSbc45TLCShlO0gDSzE7DJDTPV/Q/k3jO6g/E6XbOy s9Xg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=Y0jCoIRR; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bv126-20020a632e84000000b0053eedcc5049si1898106pgb.105.2023.06.08.19.32.10; Thu, 08 Jun 2023 19:32:24 -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=@gmail.com header.s=20221208 header.b=Y0jCoIRR; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237594AbjFICXQ (ORCPT + 99 others); Thu, 8 Jun 2023 22:23:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237950AbjFICXA (ORCPT ); Thu, 8 Jun 2023 22:23:00 -0400 Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA0BF2722 for ; Thu, 8 Jun 2023 19:22:59 -0700 (PDT) Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1b02085bf8dso2812735ad.0 for ; Thu, 08 Jun 2023 19:22:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686277379; x=1688869379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sUVBNCQGyo+QN3Hkp2oJ23QwW9HMZGUB1INfMEzS56M=; b=Y0jCoIRR5kFIDJcevgzt8JSOfThfEoJvqWgsx8u5RCINmYkEv1RaaahRM+BGYjjbzx aMQmwhh0D8AvW2vCjnnbcLus8Z5LDuIRiZJ1eDm626ySuiBCXz2KrkFlPr0E8AOHWhlE RLlVsVrGUpFeRwHlIOzcCI2RYaS1PlGWPqOfIoNTi+0gWFB8E6mnKoeE1DEFeaemqstz JAwaf+w3Y6qIgfNDAjFoIt5mJX81iQ8v8kkJz4leGuPpIGMJeS3nTfhakl5/ikEEZOtO S16Fn/AipROSuAmmHEtzSICyC/g5dAUn9vUYJaeARVweZf7TPndrBoeXJ1cSr6vQy0z5 5Xkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686277379; x=1688869379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sUVBNCQGyo+QN3Hkp2oJ23QwW9HMZGUB1INfMEzS56M=; b=e6dO1t7NHANR2+7ZgAWMZtNBiK5dE/OsHM+gYBn83hQ0smahUuN1PzctTxcxIxSJXb jbLsjhhHCI36hAM1lF6f+kSunhNUGk5Tq6Ly2AjlTnvZnUk3wlpWP1MLUPpEVL6Tlman NWe3V+5vhl0IsCRJ9JRt6b4msyPmA7m6Go+Lnn6+Qv+t54iF/1ynog9jRDNKi6X0l/80 vqRXwTD6V9ynDPmRVvRUKrO50Pi0O/XS9vF1JKoU00YC8gQwSNFbL2xVoHHVMmTYd1ew xaIJezS8L3JqE+kZd4uEt8MrvKoaO0285or4vNkmwpUKNfHZP5qoe+/JftY0WXvHfWcg nk6Q== X-Gm-Message-State: AC+VfDyrNEV4G79NU4CCPPSf7RsVAbJ3UUVqwmuZ2LQo3NhXIkxXTuP1 prunzNXY/DAVckSvNcTsfqnbdVpqrsU= X-Received: by 2002:a17:902:bc46:b0:1b1:8730:8d9f with SMTP id t6-20020a170902bc4600b001b187308d9fmr71673plz.14.1686277378987; Thu, 08 Jun 2023 19:22:58 -0700 (PDT) Received: from octofox.hsd1.ca.comcast.net ([2601:641:401:1d20:3aa3:2af1:e3f1:5039]) by smtp.gmail.com with ESMTPSA id w22-20020a1709027b9600b001ac95be5081sm2014846pll.307.2023.06.08.19.22.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jun 2023 19:22:58 -0700 (PDT) From: Max Filippov To: linux-kernel@vger.kernel.org Cc: Chris Zankel , Max Filippov Subject: [PATCH 5/5] xtensa: clean up default platform functions Date: Thu, 8 Jun 2023 19:22:40 -0700 Message-Id: <20230609022240.1694244-6-jcmvbkbc@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230609022240.1694244-1-jcmvbkbc@gmail.com> References: <20230609022240.1694244-1-jcmvbkbc@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, FROM_LOCAL_NOVOWEL,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,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: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768190581508692682?= X-GMAIL-MSGID: =?utf-8?q?1768190581508692682?= Drop _F macro used to define default platform functions and rewrite definitions as normal functions. Don't define separate __platform_* function and platform_* weak alias, just define a weak function. Signed-off-by: Max Filippov --- arch/xtensa/kernel/platform.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/arch/xtensa/kernel/platform.c b/arch/xtensa/kernel/platform.c index 29fa5d659274..926b8bf0f14c 100644 --- a/arch/xtensa/kernel/platform.c +++ b/arch/xtensa/kernel/platform.c @@ -17,23 +17,28 @@ #include #include -#define _F(r,f,a,b) \ - r __platform_##f a b; \ - r platform_##f a __attribute__((weak, alias("__platform_"#f))) - /* * Default functions that are used if no platform specific function is defined. - * (Please, refer to include/asm-xtensa/platform.h for more information) + * (Please, refer to arch/xtensa/include/asm/platform.h for more information) */ -_F(void, init, (bp_tag_t *first), { }); -_F(void, setup, (char** cmd), { }); -_F(void, idle, (void), { __asm__ __volatile__ ("waiti 0" ::: "memory"); }); +void __weak __init platform_init(bp_tag_t *first) +{ +} + +void __weak __init platform_setup(char **cmd) +{ +} + +void __weak platform_idle(void) +{ + __asm__ __volatile__ ("waiti 0" ::: "memory"); +} #ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT -_F(void, calibrate_ccount, (void), +void __weak platform_calibrate_ccount(void) { pr_err("ERROR: Cannot calibrate cpu frequency! Assuming 10MHz.\n"); ccount_freq = 10 * 1000000UL; -}); +} #endif