From patchwork Mon Aug 2 15:00:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512470 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=LIcBFm4r; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh5k2GS6z9s5R for ; Tue, 3 Aug 2021 01:00:58 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 102ED83414; Mon, 2 Aug 2021 17:00:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="LIcBFm4r"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1D38C83407; Mon, 2 Aug 2021 17:00:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0700.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::700]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AA4DF82CDC for ; Mon, 2 Aug 2021 17:00:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AqSlIDQ/2m4+sGj9b+S0zUqS3yd0p3R42lKODzSWeg2OraC+O6g69Le5Oek5cJ4FYKp6ZU4QbbVUMj0fOd1/Ai3S5vZ7a9JzN2rdRtn0B5gaa/I5kF2UudIadgx+G+btLdBMY9G0PXeg+tP4YuHdh4JeHAQYyAzT12X9JCii4/I60Ydy+LsLU1LOBqR7BfGmFf3zQvFcyPrlSqIuf09TkBg9Hl/CVz33fgSTZya+9BLRK4HnjUMoUgto+IO9OOAk2zFNjdokPOupYfG8uqnnMsI4EFKAKKusv/4PS0lyV0DnQWJnea5Y19bTEbgdJyNe01SYyxaXFX2gYE6J7em20g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LnsaT05hlncbCoP0/U+9KJq8Lq29AiIwXEkYpDYjmkU=; b=WBCLYIyrFeGZirCQW+XSEN+CXrGA7Vmy/lrZ65ZinIsH3fBQVpF/ChzkBcTkYOGMjBWgmikZMuzpWwhrae07CPDvyH+zznyEZYjSa+if3NuVJIE3PW0jd3ajoq25CpmHJ1lbY/X9/ciCJI3QomIMP7zjEFJuCPNjLru82ekxvmkz1J6R/NV1oqoXb5W/tSOVsq8/rCMP2RJ2IbYYWMyE0OjvRafdYTPS3zSPPBblLClGU05n4ZLFur5ickKLluW6Gm355sDdwsL/nTB+lcdmNgM+xgWBnI593hD+nUjbJqqvDBmc2RBI78gAXFxWClqaBNNpR5u6/SVZgY10Y1PmBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LnsaT05hlncbCoP0/U+9KJq8Lq29AiIwXEkYpDYjmkU=; b=LIcBFm4rlyZ7FNlLnBZs6pmL1/GhTWy/kC9fvvd17U8YhDGpgZ+XzrASS6aBR+tnnoXkM/rA3IzfDO9MrrdWeeUUH8xaS1i3gJjor/NoVY6H+gFg5d6wJlEVgXCWKiCwebX6Eosm9HlXrp3bw77EKOpdj7BeUN4iRChZrdfrCPE= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3217.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Mon, 2 Aug 2021 15:00:28 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:28 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 01/10] watchdog: wdt-uclass.c: use wdt_start() in wdt_expire_now() Date: Mon, 2 Aug 2021 17:00:07 +0200 Message-Id: <20210802150016.588750-2-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 54515026-12c2-4248-c655-08d955c64424 X-MS-TrafficTypeDiagnostic: AM0PR10MB3217: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p1zFmRmBEpDzOFMhIYRSBd47sVhB5/q6dV4wGcI5TCaU03uE2lZfhU2Rp+PUN5cWEPCbPI9NAcyW7KZWsPJRVPtQlIwIXDCIg2mvUN1IRoUyHdiu8Q4QWC/ob3A1h7I1B9LsFROqYZ02BkRPKhGe8qDUnxROj1P0oyYpX3k8Xg6a0p7M58VZHY68wtexhV8pl4m3CgJ4bo6l4iG6l64sLa8WknneHg8/Hwbr43U5ZCouGItVQPLgL2a9IXhk+ysZn1qt12watBES8dotM9GFDGUtN9Zz/hWYBN2/EWT4a7Y8tjkhffIBluH26UV63xyn5xKKohqgP5DuBY5h9nquVrVNGPS+aQgSmS7hXe3f6OkgaCFWY8n79VpmB9ylEAGg+v2tn1g6A74kfHh+1l+w9RTvM9S468laSz8apZyEQnHYx/XhiFtB2xNcRp+LPTz1fNGcWKXVUIsZbDaYl5TOeft37xeF/71rhEfTgTq55MsJjrNGFzvm+sgvyt/MArMKvY+IAhoDFZYVlX/0ETrJ5H2G1bNBfKwJPwONI2c51E2nMw+3n5+YbHZx33BmzvuVjWa5kEXAGRsMRvMSLj95LduVVqFZiQyqIlgGmxP6YHwV0pOzDhXuAjti+sD8WMW724fH1fODZlJvFexrvaLRrdPziwk8D3iF4rIznDS2hWNZ1HY8FVcOT40hE1KUTiAWk51LXUaw8yD3mghj+HS0Kw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(86362001)(6666004)(316002)(83380400001)(5660300002)(26005)(6506007)(4326008)(8936002)(8976002)(508600001)(186003)(8676002)(66476007)(66556008)(36756003)(66946007)(1076003)(107886003)(52116002)(6512007)(54906003)(38350700002)(38100700002)(2906002)(6916009)(44832011)(6486002)(2616005)(956004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ej3ESsii7vFRgSiXg8p+icibbTJhndm9NetZ0kWwQb+6rkNA2QDyRUw3ZLa4QDGFCgamZGg8i1ip6+CInU5WNWFBFbS6SzUF8o41jV5eKf1Beu6J06igkX/8TKzXk7agHH6FWwA8CgWxQx4OnOZCpW73/LgVd+DEzMe9c3KHNxEWp2bjtaznQJCE0hqeFf4qFRPWiC/a/8s03EXSGrcbU1tcPmaoElleWnkoDPwNPQXYRbVMRMsqsXrXQfgcfTWIyS3GlxZKoTz/DetTdFz0pWKljzVuD6yePsRZn1q93di7K3l90IS2hrrUG8Bb2VaL6uDwnbCODOz9v5k1LQT4iPQLMGA2RQ82Uj4soePfAdL0udNF8vhZm8KhxE3pHsOu+llyhHA1FJ5F3nMQajRqHTw7VcmNJYd4uvbf0MXlGmeodEO9nqzsddK3HdQVcxTEMWlH37x+HTZFeqsJHCvOvFlNTOlZ+RfRnnMpHH1JGG61BKwT+OAAM8IP/7kJm8AcG9Wn3SVb2Ctxm9924MDcj92PERjmMdVLlx63se9qi1bPZlC3752AkGYZVKDNm9UUym0fT7VCotsgrPKGCTFErFONscujABWsHArM031Ms5u4fxMR9arCcPtbZlEOcABxsTSTPa2AQ5Kno9DTiYPjH3IQ9dvyLV7Yf0nu1Nr46QhOTEZOwuCwqehZVNcZzRjuAWlCnCsxveeTRcQwO2JUgSipCM2dthewF44BBppjXxf7Yi0dOyoNAcNK3l9PSFMBm4q2qB8LneRyZSbiBRl25IcwFRIpkyl3lV6b2T4YilN25OYKs+GYKbGynwH9phioo+8ZXE6BFcZblyM+MBPgkhFeBZl87f0mELz9azm6pOaaVMEjNmdAfoilKURx04nLgm/9cymCN/j8kbQVIdOdAjNe+qJvGUgv+nEwkrWilnBBUyIJ+14iPZu9ZHGOxuTAOL0p39srmep620cIqkbYT3K8TTM6EvjVAztQ+tOeQkZN+yI2BRnod/1vHwBPdJRtUhae2axgToyy9Fh7MZItdj0bnX0o6lLLZj0zj8Z9S0rF69PZn2F3Ej069QnoMNaOiwx4QXGlahW4TefLkYHrRuEtLCIH1NjXCug1FPPr8xurwoQEjnr0GkXoLgZ0nCb7U1+ozGGLGpnYidwx9ofGk5tUM0p0A6eh4fdoY16a8ifelgyomNJcUYOthKmq7Vt+7jFhX6uIqWPwQMyBv414Z7c9DC0BwNBeT03/nEbRzPzj01jhGroj8EiGEWiH/2pm7EJ47IilYb7q0fqgMfrDPe+tGv3Jrch6d1+WFI64Pj63FgT+30drfe3aXZWtSdGZ X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 54515026-12c2-4248-c655-08d955c64424 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:28.6561 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FhoHKPx2BNR4yo3EpUJNamxLJqNeU+fPZpHLTfgk6H3ox6z/8BP8jazWkjCtA/4OAwtWydyZgTnKz/QkPU1oY6kMavXJ77b4Nsy0mXBwUxk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3217 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean wdt_start() does the "no ->start? return -ENOSYS" check, don't open-code that in wdt_expire_now(). Also, wdt_start() maintains some global (and later some per-device) state, which would get out of sync with this direct method call - not that it matters much here since the board is supposed to reset very soon. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- drivers/watchdog/wdt-uclass.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index 17334dbda6..df8164da2a 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -120,10 +120,8 @@ int wdt_expire_now(struct udevice *dev, ulong flags) if (ops->expire_now) { return ops->expire_now(dev, flags); } else { - if (!ops->start) - return -ENOSYS; + ret = wdt_start(dev, 1, flags); - ret = ops->start(dev, 1, flags); if (ret < 0) return ret; From patchwork Mon Aug 2 15:00:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512471 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=Kq65W4wE; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh5y4Z7Gz9s5R for ; Tue, 3 Aug 2021 01:01:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CACE283427; Mon, 2 Aug 2021 17:00:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="Kq65W4wE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 28D3D83414; Mon, 2 Aug 2021 17:00:39 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0719.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 91E8882DDB for ; Mon, 2 Aug 2021 17:00:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HmgJvN/1UG0je9zgt9O1I40dLdgFuAiX+/ku4szYX95xPy5sBrrak4KArXX4w/pa89jzXOHWwNsoqy6zQHj40x7DaL2dUhXXIOVm/fAWIPsdoctXy8JYyCM8PG5c2Px7EKJ+d8Xt2U3D0rVjEEtDOUo5rj6wNvyBRe/sFxaDwNGiLtmIp3zBXHed2OZV3ACdDh66rqmUuHQ9hfeF/PV7M0KEUiUW/dmJWmAVrdy6t9l+chGS+bfiNN66t2wiEI9zL57u51ZnbIv3lFYUO+iye0wRTLPVb+D5Q6D2rLPWiMR8U2EYXsi+f+hmER4Tvyr8eJviSItcSUBKEPkFuDty+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wZlLzptRdBHErtma8mE+tWC9t8jWhB6ua8TVXd4I/yw=; b=KH6YU42AZN2/EfhbKQxO2e0zzRjuT3PlqTRZOzmcZ65wjRU3nqO7xRojrTUMMq8TTyQhv/kpMDxBWhsx4ecDat8w7NdDaGDvtZzlARDnBO/DiPG3tIDnLQoUSPw+U/vE4lnNkDjelZ5HEhLXDerhFKxJv9zgRzlIXtB6oiU6xlPiEzFBdX/xKQiUYpFxzpdyP3wcK7E8Xdk3toXDU0UiPYw9yeg9u39LdVSRZjkv58BxwV7GWuPHV+i16bzfkAfZxgDeA65Cwa2BRi5Xs6WqKKGf+QUJIg11dJ+m7fQCMssRBjfPBm1Z6oCiofFOXYphCKfGariTUUiWNQRp5w3Krw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wZlLzptRdBHErtma8mE+tWC9t8jWhB6ua8TVXd4I/yw=; b=Kq65W4wEWxi/H3QbHWAexdTdWhw5ioUCGP+W72hmYOH/Is+KW6zn6h6MR5JP1H/oPYvg4u7gR+uc1n3N8nFlOJcvrpd41djHTK4Ds5iYhC7f2P3bLT4s6Oiou0NAyvQdM3KtfelZEapqrSMbfZ9LgEfSTraq+BcUzipQjIVg1W8= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3217.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Mon, 2 Aug 2021 15:00:29 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:29 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 02/10] watchdog: wdt-uclass.c: introduce struct wdt_priv Date: Mon, 2 Aug 2021 17:00:08 +0200 Message-Id: <20210802150016.588750-3-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4d237516-d6a9-4051-12c3-08d955c644ba X-MS-TrafficTypeDiagnostic: AM0PR10MB3217: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wDZRw8mvwQJJWFTY9Y5cijvWojeZleaMFCP42MGqC/2y0Fa/QwoArzELiYLT1AChPMTsNIcKzXRcr365lz9TrarGJQ8/gdlek9IORhBuwHxpITQ5t3cZpG7eb+qYZStpcwd4cSqeAoP1jgRV6v0fRsj2wYA9rza/AdPc5WNU+5EYDaJti7KVfdf6X1j/vMlmfEdCtGCsy/AAPuyT1pLmH3qwNiUXBWRIbmv/dRmoMaABDqiTJMm1eyntlvFppEJrPnV25589/aN9fuUwlcZNOdYd3aMGnLvpKpuvBMoLtPBLGUJZbmPnYFplxQc/ZHNM0G5cRV4EirlxQy9ahVJWQLbcJdtUOHfx9fbTOjDdne9FsdWo1FrU6kDaaTh3E8TI2W2zLOn+zujhlScBhjp9o9Mkib1fvDfWPpiyyaOCTICYIeeZncfqohlq2lPU/W8UQuojgRWW1h92ol53KIscS/cnghqWtfFECK82A149MVztgEvgpUeH41i3Ms2aBI1hHXrOjT59vR75s200M+6+tbriSjfknWL7sFfzgbmS0aMUNues5TjYpaX0ohi2pnPE0uuJ56dhWoTHg9/V9oU21Tm6lyEK3qrVcK9dKGEQ3mzumkXeftEagDEe4e3jRJy4UihbsAmAf7v4k4zowAyhO6rkjM1tVJ7ORZ3vzVkZJxb8Wsu6unsDCBZwLKoYILl6i6rU5aae3BwodQOQkURN1g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(86362001)(6666004)(316002)(83380400001)(5660300002)(26005)(6506007)(4326008)(8936002)(8976002)(508600001)(186003)(8676002)(66476007)(66556008)(36756003)(66946007)(1076003)(107886003)(52116002)(6512007)(54906003)(38350700002)(38100700002)(2906002)(6916009)(44832011)(6486002)(2616005)(956004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cGVIdm7y8xpgmeUqyaj8VkpPuYRyIS+4k54SvyhUvQj9g9PzfdJSTx3YZ4O3lwjBR1P+R5AWT+jA3syioN9OiwUx5BhsSeu7+w1HRG4DVNO+1sXvSvn0YF6wzEEupPbJZPMFUtxOPZZ85XDB00CFbFpEntlO9CCZXHu1r6JJJfljw6PvVN0ODpVmkYxqrY/nUW9btoSVnNqkS3yYaaMr+0raQ2XYy7Jb/jx2DbpsVYvNdQBdOeXxkz3/46LGDHNXfA0gNtP+Abs3qHoiFZQ/1E+G26nO4R2Waq0i5AkwfL++gL5p9+D0qIGP6OC7V5t2vNCirafWeY6FnljYG+XtqK1PXgihEnICrHKooAxrHLDQOOHxrilr/xfrkyKsNxP52cleePRYTG3ir3+pdAllp31hcUKy9n7a12rdScS6EOyMIn9+d8zIsdWS0+upB91CMwJWZJx3rBRtuPzmsj8mRhWNBjTYlb3AxsLxHLoZaS6tw9hbz2NohfZ8Qp20yb+lP1IzMkJ36nJ1vVMYKKjOzQ+DR2VrNl/pxmep2ceFt3DkaL1yE4ixo9m+rhluofAUohNEkOib3qhMJHhUl4qeAR2NxR4Rz8V6pXyrQUEqklRXa7FF5yq/5VEQdS5/enO4n/aVzgk3XZuj+Vq4mYqn6q+qPl7g4VUp2wELhjqaQHxUAgi9Cw+caK+MtsIGAB7gAVwjeSS188dIocMFW2cFAF8h2uYp1dniPGrgeAzjtywi8vycvNjWAT9Q3G+2f5j1oga9LFJNCZ+YvxQAp6T6D6jbSh5OZpgg0+k+MTKXQ7pCAy53o44sFZYZ/7V3fF2yKOw8t94tMAZb13yy/5H0ZnZrCjqUv6oPnKBI+aQtTEDPhfJCqrehujjy8QqaJ6NwmUyGMYozPjz6xS53W5jV89QoTYaH93nygIPiYMPOrEgZdYqEGuKvKJyGXAYM6nzrOSI0qzT19gtjlgjEPRl2CpqmiDHY3orHPvosggV0+hg/G1gr+ay6r8A6FzEHkhBxRsdGZ34EOS2BLPWE4qmr+6tC/ylWQh+xPTEHYhri671SatHaG/QqbYIwZnXQOwXXjYMJ8UHY0wLt81uBoGX6WIK5w91ZVG5dY3j5nvwq/zSToz/pbLZ2SvnYbWtO4JMSYK6FXDSkvbnhXpfvSjGoa9XzMwUZ6MKQMr4gJWa1bTLlVN1jEPcrdmMwwluBGlzPziT6d5B4ty+Yba2XjDzlZlTMENA1mu/T/tSzwsRJbBVg7XgkncLlNDYwp3KR4Z+AMPTLIsjp41rlTem1mPXAZzYrq3hUJvaTxiwiFmNGn/sbRZfIX16JEozfCHYFfnMw X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 4d237516-d6a9-4051-12c3-08d955c644ba X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:29.5715 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WWqkqfSYNuWp3w5N+cbyx4Ree5Th+oJBEFsB3yykVMLe8p4UMXlYvFdvxs5XmTRONo/O+rgypkNaoSi50eWGQG9RSDVqPYhWDYqgpWit9cM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3217 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean As preparation for having the wdt-uclass provided watchdog_reset() function handle all DM watchdog devices, and not just the first such, introduce a uclass-owned struct to hold the reset_period and next_reset, so these become per-device instead of being static variables. No functional change intended. Reviewed-by: Simon Glass Signed-off-by: Rasmus Villemoes Reviewed-by: Stefan Roese --- drivers/watchdog/wdt-uclass.c | 74 +++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 20 deletions(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index df8164da2a..b29d214724 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -20,15 +20,24 @@ DECLARE_GLOBAL_DATA_PTR; #define WATCHDOG_TIMEOUT_SECS (CONFIG_WATCHDOG_TIMEOUT_MSECS / 1000) -/* - * Reset every 1000ms, or however often is required as indicated by a - * hw_margin_ms property. - */ -static ulong reset_period = 1000; +struct wdt_priv { + /* Timeout, in seconds, to configure this device to. */ + u32 timeout; + /* + * Time, in milliseconds, between calling the device's ->reset() + * method from watchdog_reset(). + */ + ulong reset_period; + /* + * Next time (as returned by get_timer(0)) to call + * ->reset(). + */ + ulong next_reset; +}; int initr_watchdog(void) { - u32 timeout = WATCHDOG_TIMEOUT_SECS; + struct wdt_priv *priv; int ret; /* @@ -44,28 +53,21 @@ int initr_watchdog(void) return 0; } } - - if (CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)) { - timeout = dev_read_u32_default(gd->watchdog_dev, "timeout-sec", - WATCHDOG_TIMEOUT_SECS); - reset_period = dev_read_u32_default(gd->watchdog_dev, - "hw_margin_ms", - 4 * reset_period) / 4; - } + priv = dev_get_uclass_priv(gd->watchdog_dev); if (!IS_ENABLED(CONFIG_WATCHDOG_AUTOSTART)) { printf("WDT: Not starting\n"); return 0; } - ret = wdt_start(gd->watchdog_dev, timeout * 1000, 0); + ret = wdt_start(gd->watchdog_dev, priv->timeout * 1000, 0); if (ret != 0) { printf("WDT: Failed to start\n"); return 0; } printf("WDT: Started with%s servicing (%ds timeout)\n", - IS_ENABLED(CONFIG_WATCHDOG) ? "" : "out", timeout); + IS_ENABLED(CONFIG_WATCHDOG) ? "" : "out", priv->timeout); return 0; } @@ -139,18 +141,21 @@ int wdt_expire_now(struct udevice *dev, ulong flags) */ void watchdog_reset(void) { - static ulong next_reset; + struct wdt_priv *priv; + struct udevice *dev; ulong now; /* Exit if GD is not ready or watchdog is not initialized yet */ if (!gd || !(gd->flags & GD_FLG_WDT_READY)) return; + dev = gd->watchdog_dev; + priv = dev_get_uclass_priv(dev); /* Do not reset the watchdog too often */ now = get_timer(0); - if (time_after_eq(now, next_reset)) { - next_reset = now + reset_period; - wdt_reset(gd->watchdog_dev); + if (time_after_eq(now, priv->next_reset)) { + priv->next_reset = now + priv->reset_period; + wdt_reset(dev); } } #endif @@ -177,9 +182,38 @@ static int wdt_post_bind(struct udevice *dev) return 0; } +static int wdt_pre_probe(struct udevice *dev) +{ + u32 timeout = WATCHDOG_TIMEOUT_SECS; + /* + * Reset every 1000ms, or however often is required as + * indicated by a hw_margin_ms property. + */ + ulong reset_period = 1000; + struct wdt_priv *priv; + + if (CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)) { + timeout = dev_read_u32_default(dev, "timeout-sec", timeout); + reset_period = dev_read_u32_default(dev, "hw_margin_ms", + 4 * reset_period) / 4; + } + priv = dev_get_uclass_priv(dev); + priv->timeout = timeout; + priv->reset_period = reset_period; + /* + * Pretend this device was last reset "long" ago so the first + * watchdog_reset will actually call its ->reset method. + */ + priv->next_reset = get_timer(0); + + return 0; +} + UCLASS_DRIVER(wdt) = { .id = UCLASS_WDT, .name = "watchdog", .flags = DM_UC_FLAG_SEQ_ALIAS, .post_bind = wdt_post_bind, + .pre_probe = wdt_pre_probe, + .per_device_auto = sizeof(struct wdt_priv), }; From patchwork Mon Aug 2 15:00:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512472 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=kpahoR/4; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh6D4fg7z9s5R for ; Tue, 3 Aug 2021 01:01:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7594B833FC; Mon, 2 Aug 2021 17:00:53 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="kpahoR/4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CF7BC83420; Mon, 2 Aug 2021 17:00:38 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0719.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::719]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E9ADA833D0 for ; Mon, 2 Aug 2021 17:00:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bdqJQWtnAc8xGIr+n83Ntqr3DPOq5RZ2qBE/dY/DiXDlTTckOoo26FbDtPVdLHI7chJtupL239k5Lq9fdYyO6iZl/R10wjauj1+TfLKqhzwis0E8ue+P84zuRBSO9458AUaaE/nfw8MEkjQKgjPsSQzRwDFyEh71eiuTZ4AJbYSyN/kA4cNOhLHlbXaH6e8jw/iaXFOWeuxOORI3J0cU0iCs8BAMLa/8npL5p+CRYDKzTtK0ZQdRNPXANmsfLyxjLp0eHyMO7brs7RUNomZeFVgxTZ4GUDNelluQZrMjkn1Q5iqnzECA/7sK3qCTDbmkz9d0vouZvPlpatRoygi+2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7rwwHCPwc7/+cOb+RW/5DyL5y/2LaLJmmMBs/xWF2mc=; b=W6UBPxC8nxO4nFdDjzSLM2+qwJiKZOV34afIvgmCzGhIPMlqZajFn8EGkx9mKFsZ+U2Wu0ZySlavjJLvw21uQRg+MtsWoqsdrMRa4BSamjQnGrxYIXZk43J6y7arnn48xSXtv1k9WWGQ72jogZ4zR6cXcPJhHvfwO2S/foFe0BNmqpMaFil7T6Am94Q6aEVCUc3t8IEvogVHdFjZJ0gdVJJTAFw7qnuy6mA5jH8lF5eqDjtTv3z14mrv6HBe1VYTZ3tBF8NrXNSpFRmKs6DDRDhEfqXJhbsT/vE7utbx7RbLzPLKZWO0C5sm5rJO9/kG14hiV7uOdQe1+kvpaG0oUg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7rwwHCPwc7/+cOb+RW/5DyL5y/2LaLJmmMBs/xWF2mc=; b=kpahoR/4VRe5k2yKkGAG/9Xy8auQwOBM+kCtQHoX1GjSdwOjzm18pYkI+CtU+wrYliIW+dE43lOt3ee64t+0veFclvEB0deD7Vh8njRNsT9SJEUolCio/70sqkieLU3fCzoUKtKnMnCd0FU+5cGUNtTXGTpUIx3zClw9MZFEd74= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3217.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Mon, 2 Aug 2021 15:00:30 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:30 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 03/10] watchdog: wdt-uclass.c: neaten UCLASS_DRIVER definition Date: Mon, 2 Aug 2021 17:00:09 +0200 Message-Id: <20210802150016.588750-4-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:29 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0740d69e-df7e-48f9-9066-08d955c64539 X-MS-TrafficTypeDiagnostic: AM0PR10MB3217: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:663; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6PDBB5AsKoZ7aPVwxkAKdb8IOz7xUh60aw2+jW/3GMtQdOJpNukiKVgljGGFlEW6fVbsrPZ0MfZxJybmI+yq3ucetxlizggOFd5mBtTzR5AcJwtmhpyBN+qacNSUHSR0IZZOD7pMIh1jsHY6QhupY/KvVVz46UPODC1CQdpnyAmPNf5jwgjey2/0MxNYysUwllSX8v9OZA5SScVzACnjtUZnMJbUsuqTz6yWueB4g4H2nQEH340IFHnUJptTg28e1pakEfLhKVCh221lx9cFBjDBITebrRpzJDX7LT3TBVue0qolicsZpXh6CLYJ2Gu4HqvmrjjcIwXPyVjLu1SYS5buRp+GRuYz5ouC1Hhc5gMnnVvkklu0kkoSpJLYfJE5ITbVTDcgt72syHxsmxxayRMUnfhKtkoI83QJJIBGmjEwukV9Zw9491jlg7L18KsrauINJE4NBJUByp/aHfcL6pSrXVmR3vy7hHW9j+f/GCUaRVgW4gUVg/LUNGCIqiuydGXKPHew/CyXoX29yu+GxslKln+dGqLBCukIHMudtHK3OCm6td55/6+nuiBofGaWyNHLAvM8KjKhy8Pin9ISw54olKrvDBSs+Qd6PJbcJeVFSnJRrnojG68n8n+l5qvZiPznhCLJtgs5fecPjrWiIqre/BMfja2ZwFIB10mf1sHa75apryY2X0Zk/2PgkT+OFbVaooopg9mH5PDRqlCYwg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(86362001)(6666004)(316002)(83380400001)(5660300002)(26005)(6506007)(4326008)(4744005)(8936002)(8976002)(508600001)(186003)(8676002)(66476007)(66556008)(36756003)(66946007)(1076003)(107886003)(52116002)(6512007)(54906003)(38350700002)(38100700002)(2906002)(6916009)(44832011)(6486002)(2616005)(956004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: d6EHzS/V7TTmFkioBHoU63CxyvprIkOKx4zBzfMeqoqMBSCUqIYPOnND/Scdc011yQY/rL4IYZD8Nx4KQ6/KIjXdsJMN4cvfGUk/LgQxCS8/gyj5S+9CmTqLYIeEIuVe1pPU7QhLyML4ZXNcpm1QT9JJIIKSOMCYdrzueg6SI+OUmsGI24BZXMXtefmfU9mMwiMD8XZq678g2dlZzDeuzusJT62LGRp68jqS7rZOhzNKf07N7UwUe7d/5KCuqWtS8NpRFMn1kLsxbo399P1B9wTBwJB444HptHU1WTwIz4e9UPwpzwsWilc+q7apr27knrg9R1DQSuZQRvITBk3pQ27pmpIQm+VHxPKN39l7fgYHnssL+8aP7Z+JURm2EmJdPA870AkB4Z5Zg8uJXNFHTvbzG8IvVtvMWyK2y353yS6PLwAW2xJ2oQ872uKcjtGhrgttt9KfdTn3kT4w925nE5S3sUFMb4bvAwLs/fz5tBvJqEkQQYDHac3OiGyxn6uK/8FqQnchSvS/XHy3pUXa8IUXCSyLSiQHZTBVDU9tGaFv+KBP7un0uXW3bmDnp0eNC6RDGZFaiFjhN/HVm/sib79B6cfgEqr4M5XV8JvB71jTBOegRm+qES7THW2gRNXKUBoo84NuS1RIrqXJQyeOi4WoAdUxX9dOrIhaRlDkClXnHwGu1yKLPYb9BNlzH+t4TjFLoGAuaIlFqn/ZW9alE4DWUYDkoOOU6EwDsnehOgjuPEdqbava6eLQMOB+Fqtb75bg8bSM7JvViplOgQoebMoyP6/vyKmp2NbC1z9noyja3ta0J8OL3OhkO1LtGRFG9DWH/HvPg0soMI6dm+jbTF99Ul2anRJyaBAATFlvYesZLN5rnQf1uxnMqUPbNSFK0147fCGPh4BAE2cb73GrWp38V9WjXQgREMN+2skotOLZuec3rWExM4oa2/Xfa5KHQJqT5VgtDWRDLi4Iru/SHMiDK1Ba+KeB9H+MFUhwOqbkk/9e+8cV92p3nJFqr+HWbOLegrvLFr10/gtULl1A3GPnRY2tPrquWah/6/frIFSLqG8b0WJXc39Gl9mXJeGbp5R9kJAMM+ZnKT5EFnwblt3CTsMs+P5DY0LPcDUXMim+EvydjrcgKQPxHc26E/XnIkwkv/syfvNEBzSmlVUK9ojM66mq8EIemLGmfAKnzx86n87PU8W9uk4TVQObE5JPo7idqScJrAiAwswSq2AcItt29Ym7OeSfHFOGTYK11YRFpoJogSof29Jq7K6PmR+sPIb3rXwSezxIdUii5lmAes0pWFrXVBJhUVGIbKMvCg2YmGE+5jlWt2WA1tDn4hyX X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 0740d69e-df7e-48f9-9066-08d955c64539 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:30.4341 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: W50N/QLEapNP6HaMbesIwu0v7kopeqQNq/vXJu3bdZVwy+uN9rV45IxYfrK7QQJ8msR5adzCwE4ZMyJxJxF23lbkKlvFg9U5jccwN4ec6NQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3217 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean The addition of .pre_probe and .per_device_auto made this look bad. Fix it. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- drivers/watchdog/wdt-uclass.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index b29d214724..81287c759a 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -210,10 +210,10 @@ static int wdt_pre_probe(struct udevice *dev) } UCLASS_DRIVER(wdt) = { - .id = UCLASS_WDT, - .name = "watchdog", - .flags = DM_UC_FLAG_SEQ_ALIAS, - .post_bind = wdt_post_bind, + .id = UCLASS_WDT, + .name = "watchdog", + .flags = DM_UC_FLAG_SEQ_ALIAS, + .post_bind = wdt_post_bind, .pre_probe = wdt_pre_probe, .per_device_auto = sizeof(struct wdt_priv), }; From patchwork Mon Aug 2 15:00:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512476 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=J/+FdbOk; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh712Tl8z9sRR for ; Tue, 3 Aug 2021 01:02:05 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 41E8183411; Mon, 2 Aug 2021 17:01:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="J/+FdbOk"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5D50783420; Mon, 2 Aug 2021 17:00:54 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on072b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::72b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4BD26833FB for ; Mon, 2 Aug 2021 17:00:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EkBxUQ2BONMvK0J/pESZl1t21pJY3zLypdbpHFT6I1SbiNJR7OCNcOO8MjLnb0IcJYKUUaLg9O2Frp8LT2ijHQKfTIf3tVqdHLo9ZoZUlqRqh360lqSxGA3S+W2VQBUOyMxwFC5e57J7LIStVuBtL4W8DFG9lUaTSmwHMc+qvxTQ35rSeYzyCLeHAlkoD6h9ZavTAlJVyZzUW7lEtwapohNuQsSUU0oCd16ZPDXQoAmg+PyGQJ5gkTGisvlPjzyUFJzgPsDsfL/3nSFop2sKclaNNJPp8ZoBrDDkheY5qQaw+HxVTOOCamG1d1gUmqxhW7c0m/wOcIIdxj83BXObIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zFlRmCoLGrRhcMF9OE5lTMHFpUt/fLWIpSIseO30Pvg=; b=ims48sBm/cXzamDTs4nvl8US0HzAExfY09XNFdb6aBYYLd+BnrZ2SSH3wyeE0u5rmRoaTSCHWREb5ESkzc7mJU+OWFhRjlZr/3mJyYknSIs4/MFDIa/lzimrXIhD7BG8qTKYGaznl9hclD5Fef/IpvSulI0QoehxV6nTzsU9h8nAVwbxLwCWOSfi3b8hI7ZpulSmqn1y9dpanQPDpNAEY/8umgZlKTLVbHLTzdIfkCgABtVWn763R3t/wAm5WlAaTGyY5RQtoHvlyRNBz8oTLiZEC9rtrcwL7gXUrYMy/wqnimlQX0wr4mpg6E3BXxTnzqlwWDqIJnKX2LErV1bCwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zFlRmCoLGrRhcMF9OE5lTMHFpUt/fLWIpSIseO30Pvg=; b=J/+FdbOksmZU+2YVomWhJdL9Satd/RrFVu43Uz527aiZxaxm7z86eXnSqCPbJOvrnrul/0TaUnapIMgq3k5wC+6z0NfDLqt5G30ZDch3TvwSNliCQ2wNJ4ZNS50xvbSgMFZBEJFHqvkQ+nW5BMrUmGRWbLwNluurNZzGULF6pPU= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3217.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Mon, 2 Aug 2021 15:00:31 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:31 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 04/10] watchdog: wdt-uclass.c: refactor initr_watchdog() Date: Mon, 2 Aug 2021 17:00:10 +0200 Message-Id: <20210802150016.588750-5-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5b3ae7c9-5590-4f24-8335-08d955c645b9 X-MS-TrafficTypeDiagnostic: AM0PR10MB3217: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:486; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xMbs6R1tGe4A3pWYpkTfr7LF0Iq/omn003s/cFwuzQn9G4Se83Af8pcRLgu65YA0PbxhITREuHqacSLe5SOCH1f0qvAqKwuXvIe+/iWutlRFjfup9I8tR1GQSgi+73MPlA6IhfvbamRzXIfgjCsJuCNclQ7aBrnP+bLTSnGY5JH+yJMDCyadLRrfypkjT2UscejSZrU6ODORRwUvvoi22uL/5lnHsMrUjwhojeqlSsd6zRBgYCxlu4qec7WghrV4z7tDdhb6KtsJQuZ1SMjy5HXBHaj2vI4T12r8CzMOaeJ9rUfooji7I72W2vxmrHHDMHLGlV4YQEU5F8p0N3VRuCm8c4TcQeG31vhdqVKBgeXOMKGQIAM01iUyu6Z7iEHpWf0EyEvt3c5CihxN0TaC2cXp5GWtHqHk1iJ9TG+xU7+8Yqixu0aL09Nd2YFIgco/ifKPB/7jdA6Vse7cABxe2zWz8l3TisKWWJYkO8pOpy1QMHzwfTjhUwHfCoGDa04yrfxGOBW+M4dcITBwjAbiT4JmbdJC7tq9EK7/0XwocHCFRmyOFL5K2f/WCeE1dZ3vYVXPbnluEk8L0a9LS5F4G0pwXuc4UEzdSKC+ZyX3kvl5lzfdr2VA4Y2r8HvUBp0PJJC7X+aJVgPHTVEkAh3AGMipyr9DTG3VLuk3IEXNjlC2fCJscDrtS97y0fIHOYk9ZrqLVD6/Yq3tAnWa5ynNtQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(86362001)(6666004)(316002)(83380400001)(5660300002)(26005)(6506007)(4326008)(8936002)(8976002)(508600001)(186003)(8676002)(66476007)(66556008)(36756003)(66946007)(1076003)(107886003)(52116002)(6512007)(54906003)(38350700002)(38100700002)(2906002)(6916009)(44832011)(6486002)(2616005)(956004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BiZ5tx8g3alJHU00B+fQueQl9hsYFUuuUhpKoLUXVJps6skOLLKq3zStRZEUhswaS5OmJZWteQqWibmpOwTnFfvKJ3JYoIxc/Nc3Jb6R53EYxjBfRcj8wrIz05rdHnReZZOA0621mkX59XuEkuINSccYaRRWXM7hTZg37y8bA1xqltxFktXrwiXa6AcZTQgqp2L6etwkfTJ1dzRrRAJNhgibDjUU3a5O3uZqGm07Wk5jRuCx/otFZ05gCnU5k4NdYj+J3jYd70H4fcB0Vdg1R/PNct5bqscVmlcJbQbOSFDMxFkawSYFk5sF4n/yGHQt0hZGAXuyA/7Ljny4GCPU0yQNwpWmAnEAronkffEigiDqtyQ5wLfu69ZNTTpNeHPwGjYiQJPbi6sSqPaRaut6YClrh02yVn9mHBraTWNILFJo+qQmzL7dZLqFz+3U9CHH3A8EqoCqbvwTl3nGZ5b3sjjdo1XC9chasvks5FbX9rArB7iAuZw+BdsPOtFRNJfW9+zOvhDQXk5gy4fDGNMQH8obuqFBPVcUSscWtfo6VbtA9yOOAaCmb6f7nV0cNB9xDbxcwS4DXkN3ln06FNRcfzFZP71Z9iLgqSHHAekcrnswlgNfLfTS05MA9xMHUXSh7u3ECxkP33js0Kny5rQyZFLwh/xAJWISTqaoOWStQlUYI6Sz8UVzcAbeCa0xxCDvroeocQzyeV9Ny9/6A29IeFomMzZBYI/Eb5Xetm9ke3RgFSuEHviw22mDtPiuP7D64dNuX+Bpz2VBxKVQ+lscr+twGjX3KNbNFM4/vnCKm0njJ2V0OFBdI7Pegr7CXdkN7iwZPpv9rBhhnzCPKGj+yjB6ujiqSqAtKZ83feQq0xiFBCrWeH9OrJR0x7YpBYTrTE9xB5OsVzg0YSn0F3YEgZKPQYR3YCQaunkHC/Ajw/2cSIYvJvckRVo6m9XcEgyWQCFhxd5JlNoSfQrEPbzTlYOFR3CLMsPV0ZBoyuIMvelH+a59nBa0BUBrHJCxkr7RH5F2BtovyHOKIsUmbJyvrnLxNzphp+o1horqmgB9rSk4nZQuK0QpNvPjlAWMVxKixOiejNjKY6KWbpmbreA3gINJ+yC4XqYnmpoKjkzHvZsapjl+cHh73EChQULIQYWyqHpzYjTm0HfCkyUeewE8WrXJLGugych09KhviTchcDoRLyLaJl2xstXJ4uv1SCGtu7xiNPQok0uUspvcG7tMN2NcVP3WBvhE2pF24RAZYHEsA5tyf92gFf9kwM/cZKJGFoWowmT/IB1v4Fp06pm9gBmsqT14b/KXZ4veoSwWfAFY9j+qrBY4CeAd1zVJY5BZ X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 5b3ae7c9-5590-4f24-8335-08d955c645b9 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:31.2776 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1dr27kRbRp8A1zfNb47j2NdTfMqh9hGiWwabWnK2cgDWwZttDGLu4ffGaxDU5R0T+VZVqYwO56v1MczIC7aaDs0i1YxtZFcK/j6BDf2zAfA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3217 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean In preparation for handling all DM watchdogs in watchdog_reset(), pull out the code which handles starting (or not) the gd->watchdog_dev device. Include the device name in various printfs. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- drivers/watchdog/wdt-uclass.c | 37 ++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index 81287c759a..0a1f43771c 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -35,11 +35,30 @@ struct wdt_priv { ulong next_reset; }; -int initr_watchdog(void) +static void init_watchdog_dev(struct udevice *dev) { struct wdt_priv *priv; int ret; + priv = dev_get_uclass_priv(dev); + + if (!IS_ENABLED(CONFIG_WATCHDOG_AUTOSTART)) { + printf("WDT: Not starting %s\n", dev->name); + return; + } + + ret = wdt_start(dev, priv->timeout * 1000, 0); + if (ret != 0) { + printf("WDT: Failed to start %s\n", dev->name); + return; + } + + printf("WDT: Started %s with%s servicing (%ds timeout)\n", dev->name, + IS_ENABLED(CONFIG_WATCHDOG) ? "" : "out", priv->timeout); +} + +int initr_watchdog(void) +{ /* * Init watchdog: This will call the probe function of the * watchdog driver, enabling the use of the device @@ -53,21 +72,7 @@ int initr_watchdog(void) return 0; } } - priv = dev_get_uclass_priv(gd->watchdog_dev); - - if (!IS_ENABLED(CONFIG_WATCHDOG_AUTOSTART)) { - printf("WDT: Not starting\n"); - return 0; - } - - ret = wdt_start(gd->watchdog_dev, priv->timeout * 1000, 0); - if (ret != 0) { - printf("WDT: Failed to start\n"); - return 0; - } - - printf("WDT: Started with%s servicing (%ds timeout)\n", - IS_ENABLED(CONFIG_WATCHDOG) ? "" : "out", priv->timeout); + init_watchdog_dev(gd->watchdog_dev); return 0; } From patchwork Mon Aug 2 15:00:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512474 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=ONIMtrb8; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh6m4hcHz9sRR for ; Tue, 3 Aug 2021 01:01:52 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id ED01C83420; Mon, 2 Aug 2021 17:01:08 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="ONIMtrb8"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5D87683421; Mon, 2 Aug 2021 17:00:53 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0703.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::703]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BB6CD833FF for ; Mon, 2 Aug 2021 17:00:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kG7L/q8ym9s2arQtbAkZbGoe8fMjgXAlAi4zD2rZ5Ups+oEHLmJkDnZtoQZizfAv3uyeG/yIdL1R7L5VYQzvDbJJRHLnsQISD7hUY8IlAIuvQPzs4MnveqTaFbrSiGI3TPNRcwowR1w6RPsCyS/1Apqj9pIXOSI1ojdcs6odRfm2dhDDpMW9MvqGCu/h2AEK3fKCsHEpde7m/qVWmC7esRt/qJx+sDgx+ULiva+5QN5yJfBgFccJM/ai6fYFzXsOqH0z9HwlUij/8zfGj2/cLrJP1thy6ZzwzJsK5Wxg3qarYu0ElW8K9uHkil32Td1cis8ShRfYBpkeqYVoUDgALA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BtxsfjLpmHKWdr4YTbHlO8mxfdxH82pSRJj/S0b/2OU=; b=odK3Enn0aXI/eyIYp2puFjSDCi4u/9FykB411QWbRzkTSI2ivfj6agL+zRGUvI671UZ9a42CpGfdLQ/yR/7zEp5PY5LKbtQjay333azESHuTlV4aT1xZO1awT+OwZVae4nnQE58SrrrZW5mAoIEljrLw03PZJsyH3/IeHITJdo8XdYWDL6e3soXLKxduVZnPmBo6ziH1Hr/58XoZir+ESeRqAVzpMZIW1/rqNOFsaZCpkLaz8J1I9Uw8+/C5PHgxjnb0o1M7aI/Hm62d0Mxs7C54TZiCTXAVWTo8TzYCnNFiZWgK8NJ9JmLutd4hCgoRTZ06FhZJRIoL9bEpVEp3mQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BtxsfjLpmHKWdr4YTbHlO8mxfdxH82pSRJj/S0b/2OU=; b=ONIMtrb8hezeq6fA1/A5fZdpVVF0/2V5Zwvp0n2tUdGDmHiZwaNZj0ylsEaTmyp9EiWHuy6tDQvg8mZ7kd/4dn6P4eFmtg4Y5CYQWoGiONIpvOYfqAZSpPqXgmf4VfY66/ApqlQrHG0NKHoMq4yWvFLJbY3z69+QNp5hm//rJbE= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3220.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:182::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.17; Mon, 2 Aug 2021 15:00:32 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:32 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 05/10] watchdog: wdt-uclass.c: keep track of each device's running state Date: Mon, 2 Aug 2021 17:00:11 +0200 Message-Id: <20210802150016.588750-6-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 91b5ba10-54a9-4cbb-8bc1-08d955c64638 X-MS-TrafficTypeDiagnostic: AM0PR10MB3220: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1201; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uLPARGAn8WrMvtt9zw7/GVZqDDDkYOrHVbCb94ay2S4HvGbkWkAlC3CyZCrukv0c8bqsiZnJitKRPsI7nMP6BHKZjnP2VnBdlgoy8TMTfMKH4jzeEcdn7ibLFJyO3h04EOnKDNe7ZbrgD9/ApxkorvsXeBVqfEJt1aegihbBV9RUahLuFmkO5o/KuFZ5JY4sTjeNca0p/fDOSjEkDNXyiY2nbijufgKhh3d+QwNJ1NdC8le/EgV/lSKUB+ZX/qsXgF7ZS5NND2N5wF/OLC7bWDxqBvx9oP/WhTGge+fymmESSrYiApTBR2ZZXjMqJoI1CWdTzFfwsq+Vr8+3JU8oieJjluQ2w/XjpOkuhmBlq6q+Zu2l67Xhy6blJqEQGdOr3QqPJr2ptRtSpy7ZwMRbGr3DrW6a+jXLxZ3L1gmUjtpftXksclQ+0pkRvzehsuM8bf6E3wQNXqEd+cEpLrspvOaxrI//sJqtgZrWZjsNwByCbL025/8WBMBsDkRDsHWkk39P+SnwPgdzHVjzpW3sB+i8HRxeRzCQc1vqubP9YfivhcseH2mUKSQZiqfZe5+DEHzl5H+w3EOP3B+rhpkEzcJbBHaQmm27dTcBoU13TPrQX9BJqJV3qzIjhrv5pfMI5nyUJexIDhiKbmnEGxklt+csenhyD9lGEvxfGKpcq+HUzLSx4EkKinTuBdbAhzc0rFLdrl9TTYfNUT+v4sbXnQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(346002)(39830400003)(136003)(376002)(396003)(366004)(26005)(107886003)(186003)(4326008)(6666004)(316002)(8976002)(8936002)(6512007)(6486002)(8676002)(38100700002)(956004)(2616005)(38350700002)(54906003)(36756003)(1076003)(52116002)(6506007)(86362001)(2906002)(44832011)(6916009)(5660300002)(66556008)(66476007)(66946007)(478600001)(83380400001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: r4s1mKvLK0oSjXcn2U3wqGcF8TsyuZUc+RptuTCdSzhuLfEls1JXqAhP+vitEh6C+od8ZqijJmhCvHZ+FXBicLoiRtHsGcXIczPtKGVle/+3T5HxQEEEnRVWav9I3yYJxIiXRS9CVVfvDOGK+scSfAXD2/85FuD8XzqY2OSoUtsEvkU97YyM3poA8IaKl38pV5DE/x+iQoDxs+l0E7fE07cdN7wZ7IT4OOF7NRVChJvzm4EXcegbs95jiAUaKnQbqEFlruc0hF9qvJmQavsPuDxvYIhFroavD/jlQfGE5E4mV/p/PDrF6exm+88zZUu5NuZWX3zVy7MjMd9J2CSP04XmdgI8p2iiO8kGVDTp+/knmZY+/hUiV8bY30O8AAYbZFwndmDnmg/eJLxIHNpYk+DNYnTcBemBncewUY8SE+svpwbFkcJUSahjBvsOm7w6rkvewZxVnQjHN8Fu+Dr2liClAeS3P/8djthxkX6XPE6FOeuSrkD9dMp2RQTQ/PdkSf5gjg/nBGBoLzYiXMj5bMO5gX/9t+CCGZEsEcnm6Gsxt3CfWhQdte8Fp/SUCmGAsTHNukY1IIhj3LaXUefdpukb4h6g0Gq5xWJ7431ZhuLCwUziLOkauaeY64tmFu7igWD2HUuwSpJk+vpkWL3+2QM8phepZTSGx7/OPWb4K8Mh1QPERGujVQTLGfnbyFNkPbMB0fuZk6MTcQjNjJ2aYns5uSGkrLptPQG5hux0SuYm30yeI1TVzTtnXoLXhwVChXmk23vo/k4Apnyf8Jffps170jmiOwUPgu4ZR/0T7GfnGj6XZM+gk8zkd5uMG9Iq3rmfLuA/8t9hwXhTKQ4Bh53jbF6JnRz/At0O9O0QEkKrrtmiyj+dJvU6OXUyvb1llI3j9puj+0wk9kfvR3E2vz3jaFvEvQESBr8K/oOL3WcZRb1Zbf1YvHyeAWulx0cBxiJwzG1YHerb/juSv95OS9l+WJWgXbTU3518WkI1V0u94ZvuGtX2Qu67rjX+Rn8+2/RwtxpIRXA8rBTY2wtJ/quzNcjCT2/1sIhubW4FU1V5jw6vTF5lqFv9OoLgst6sMZ8I+sGN8cb3fBXMuSCly5TE+0hirexTwY+lxgOqXZD/RjNr2i5ydxkMddnCOZ6wbnXWO4uJp7I+r0MJxtWGyHeP22dIJkSIyWvY+VQoGL18QAGBHVjurulaNW6FSZK2hFGqdmsuUPKQ2eD/nzT35lvG4RnAC1TCRNUxi73Z3II46igmq7FKlX8hhkQapDy430C19oyGzhK087kGFJAFJAnzJYrwB3N9zsvhc7+ySBccWFm9lbxx+yiQwvazqnJw X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 91b5ba10-54a9-4cbb-8bc1-08d955c64638 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:32.1311 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6SkL3TnnfEIIj7Ns/Ivaa6woC1d7qIYj8xV+hNUqjkSrhDWbS6XeLd5xFkKVRRFUpkVn42guDngSvdM8hQ8IjwktW4z8MhXUOclfclxSmyg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3220 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean As a step towards handling all DM watchdogs in watchdog_reset(), use a per-device flag to keep track of whether the device has been started instead of a bit in gd->flags. We will still need that bit to know whether we are past initr_watchdog() and hence have populated gd->watchdog_dev - incidentally, that is how it was used prior to commit 9c44ff1c5f3c. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- drivers/watchdog/wdt-uclass.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index 0a1f43771c..358fc68e27 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -33,6 +33,8 @@ struct wdt_priv { * ->reset(). */ ulong next_reset; + /* Whether watchdog_start() has been called on the device. */ + bool running; }; static void init_watchdog_dev(struct udevice *dev) @@ -74,6 +76,7 @@ int initr_watchdog(void) } init_watchdog_dev(gd->watchdog_dev); + gd->flags |= GD_FLG_WDT_READY; return 0; } @@ -86,8 +89,11 @@ int wdt_start(struct udevice *dev, u64 timeout_ms, ulong flags) return -ENOSYS; ret = ops->start(dev, timeout_ms, flags); - if (ret == 0) - gd->flags |= GD_FLG_WDT_READY; + if (ret == 0) { + struct wdt_priv *priv = dev_get_uclass_priv(dev); + + priv->running = true; + } return ret; } @@ -101,8 +107,11 @@ int wdt_stop(struct udevice *dev) return -ENOSYS; ret = ops->stop(dev); - if (ret == 0) - gd->flags &= ~GD_FLG_WDT_READY; + if (ret == 0) { + struct wdt_priv *priv = dev_get_uclass_priv(dev); + + priv->running = false; + } return ret; } @@ -156,6 +165,9 @@ void watchdog_reset(void) dev = gd->watchdog_dev; priv = dev_get_uclass_priv(dev); + if (!priv->running) + return; + /* Do not reset the watchdog too often */ now = get_timer(0); if (time_after_eq(now, priv->next_reset)) { From patchwork Mon Aug 2 15:00:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512473 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=BCMAiBui; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh6X0Bg7z9sRR for ; Tue, 3 Aug 2021 01:01:39 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 89A5982CDC; Mon, 2 Aug 2021 17:01:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="BCMAiBui"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6B1E08342F; Mon, 2 Aug 2021 17:00:50 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0712.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::712]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 88AE883405 for ; Mon, 2 Aug 2021 17:00:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B+F+MYDDukCfIE4LXLHZdhhwagWi5jw79Dl5iotFXkpriQLl67SZVgvqeKWtP0029L0zOwcn7evpfZreak9/qDRlsHsFLAiw2UL/udp6PxPd0ebnvtiv5qGj1IGyLn74NPhsansaDC1qyPHKzrwVQ1WSKqL1RsMQslamarSXWdne4Q4O6UGPMI/Mxm19UBs2piIqmgPgOZ1R5lAVhzQr6Jia3GUSzWffDHJpbSInMJjO15VOdY4JMHF/RIyCTQNKgLUKjlbT08C1GfL0DegJvq1zNcqSdjn3zumTOPU5opSOXHiCqlGSuLkdY1kELHXm8wQNKzxgRgiCKvNjSF9FAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eM6YqxZ0p/05MCt7+aO03er8Re3D8YYL+M+eq+VtI+s=; b=SfoSfT54L/CIm8FVmCBK2qblahBID9sQI0cyKtF/Bs2xDQPnT+LpWqmAiEpzDXnYYxMZ5cwjrkFe72Xlgm+dcD9X4L7WX7y+AWG2IWje/V30X50p6V/IHqMK4AbpuRSVHdQyrVCXJU2sCXXnnxoHkD281XhruXcpa2rmhz8JP6cxumm9YbkQSG+KkH4zNwsoibh+cmffaxzeZT+gCgY0GanW/A31cizgvTX/PMwcIS3WiXULaZPJ8yOFU6Jyo4MrdAtRbk9JMF2P5Pt7BFPblKs3NnhhgTRZr8JZBvBKR7C1N4bhVIV2LmGGPeQfd00sp515BhFmgqIVi4ZHos4fvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eM6YqxZ0p/05MCt7+aO03er8Re3D8YYL+M+eq+VtI+s=; b=BCMAiBuilpqcLqAGWHT6s5PHdc5vlY/4B4S0ifSKgafr/VafXqMtc6xxBdEEUtN/NCzdRfa6atBAUqczOvHEW4Ys22C9xWqKzcBqE/nj31PsDsuyvTkYDZOnfVc3Ysp8nq1YLVRUYWNF6RyyOpu5n60LBo0ieZNAVXnjBd81Ays= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3586.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:157::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Mon, 2 Aug 2021 15:00:33 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:33 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 06/10] sandbox: disable CONFIG_WATCHDOG_AUTOSTART Date: Mon, 2 Aug 2021 17:00:12 +0200 Message-Id: <20210802150016.588750-7-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83514318-62f5-43fb-ede8-08d955c646cc X-MS-TrafficTypeDiagnostic: AM0PR10MB3586: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4303; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8fbEg/sn3uHAZGGVVnIKgdE16gAxJ99H9PNR/weN2vsBS0gB24Pe/FRCVDdGVLsSeWQCikUHL0YkAwrkz3l0FCxozW+puVNeg28Zkiq2J7EPjhQhfPG2ujS78TpukeVcNZxJ8hF7QNsIdnbcT1deMR+49jKsoZypy8cMOTHCEKRxfGijHY91qA5NCft+GGkbLEszQ6sn1ALCQjrih94oP4PQErw2l1QzA4IJHRg50XV6ZYGn/vuC4TGTV0wHkVo4wDZFpJxQuEZzEcWmGkJVLz/cPWgRzgV3PjyzsvrwygWIjCH00oRUQu+gMb0Cq4L9vjT+yoF8rgNJk1pw8hQtqxLRFQYlEU+0A2PpUF2Kd6BzkdQm+KYhcqvJZ5ZIur/wRTX1rjRLvlSebh1l8IYeT84inHWtmK1OmBkvdaosrq0F79ugCILVe1kioQi3MdXBbdTIWLcMhfLA1wAdJou3cMRrWP/dB6rUPmDYOxcIOJzamNRVZrg9XoI3T73A3fGBagQQmAZ/Ff8M3OW0U2UCaxKdx5NPg6TGKGU9xWP/aVrr5lU2T1C9NPvgDugIua6hX06o49fZq5LEfl/AIL3MvH0ruX/vOfVsFqLdMhWC6zkLeJhk8RjU0dpEeCSHSTD8qvqyhqPT+XHawt1tWdioPvoHjosAzeH0ZMt61lC/iH2J0VPTeayjLY7I6Bj3zf/5li+hTM2oiyTFqrvNPx6L8g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39830400003)(366004)(136003)(346002)(376002)(396003)(36756003)(1076003)(107886003)(478600001)(38350700002)(38100700002)(6486002)(6916009)(5660300002)(4326008)(66476007)(66556008)(44832011)(66946007)(6512007)(86362001)(6666004)(956004)(316002)(2906002)(54906003)(2616005)(8976002)(26005)(186003)(6506007)(8676002)(52116002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Miw0umPWRaHsqfDdHmGrvyDqChwijy/ZBkKA9pHA9VgaI573/HtOkiVXIdhWoMrdhbbgWM40btAAPS2GNKOdJ7GZ3ocJ2Jtf95BM9tdhvIkk8gAYhoBhlsi9CeIsmODXjsAIFFXMxhajWWPy5XMMsE9X3NvQK7/lOTmRhpsNyNKPBb3Xw1g4CeXcl40bc5HxC8FpiNjOaaieHPLyppW4xCKdP8KreAukF8M2hmdcPJlqJQT32bmgRgV7v8tnOboWJ3PwhHJTxKRttRllWEuOSdmvYYtPmEXkn/27U8cLek/Ubupl/5cfLXRcwH95WhU5Eae+EHiOIclEU1sItjOwm2kctEBDeSg6QWHaK94EhscxwFVTvpEshW0Gf/SrYGDZF55WCa8F1G4rEKgtWWtmkNZunHm+lL5cGuXCvh8j7mk0mePiSHFkm3hzekoyCPPIFIy8pMcu3o0QrpDDtiWEJ2jPpfd8/7xGuugkYErPBbAKW3pPZGZvYqe+CeDmSIYY06HWKWkFha7vgpGCwkJJRwJ39CHJVITO19V/b7deFYJAgje4jgQ/ZqGIW+KFJ/RQnZ8RD/5slcnvf7gP+i2mz2bmptf/27qxlebm23bAsoFXwx6ldyxxNi/nMZ8BixycpEcCgnHveRHMJA8AbHheBWxBPngOG/g6+BV2dSKEgaeTgejdjbaPV6gFNPQ9U72LCPSu0c0/kdDeyvwaQUyOA/BHEAeBNXFRaTwDJxYwgIMCihGQS0R9peTtB2dtbHH3O0DJhJvVErEdOvxGprf2r8YXcZtS1Ibvqh8NddqKnsBKX7/vaMIm2vq9i84mGPeOTbNkaINoUKx1EwUyOXfXefslDlXNpVhvBM1P2Gs109sqiGzhe9Qww6cXoA+tzy+2K1IVrpDNDDmuTWc6Iuo3daQmjRwX1kk/oDog7Y2WWRKbe1UwKWcix4nO3nAVokp+9ChxOqvX4oT4R1aZDBNkNTqgP5lAIqrLHejgnN/hmW8vGVJSQlzMozOx0WtX/KlAcOwOy9lcrZwzopWIR3aSqPRY07ltGZTTGnAvPLy6Ty2qRxIs3XKZpI51Dy3rED1PGfEqyLjEpSFoOXcvdWb/LG/nOu5hnmNdgJzWO12T2gwHivh5o20FR6550q5VyIWz7KKBL5zi/733I4x5ztvBylpVneCJLRpT7c1yR8kja0XLW0dLDX0FLnDrF4pFSNaAiWSLZx30Z7A8NPPixrN8RpsDZRb63lF8XeWPf1Zv2dAB0pu671L2x5kml1gX8JFlnLkfeNwSVVGBI2sxNe/ixWJ8a/jGMeh1dQuayve0VD0Par1DbNceib/KA2VSUWff X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 83514318-62f5-43fb-ede8-08d955c646cc X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:33.2564 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OnHDQzZsgYa2MZ0v6eDi9AU8M+pJzYPYT4hqnaTlsLl9pB7+pAyQ2UNHCSgqRFxN9NCPGPIoOatbRs2yWfuPkksOOAeh4LQrnCmkt4yN4Oo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3586 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean For the unit tests, it is more convenient if the tests are in charge of when the watchdog devices are started and stopped, so prevent wdt-uclass from doing it automatically. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- configs/sandbox64_defconfig | 1 + configs/sandbox_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index f7098b4969..3627a066b4 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -223,6 +223,7 @@ CONFIG_OSD=y CONFIG_SANDBOX_OSD=y CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_RLE8=y +# CONFIG_WATCHDOG_AUTOSTART is not set CONFIG_WDT=y CONFIG_WDT_SANDBOX=y CONFIG_FS_CBFS=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index bcd82f76ff..34b749b47b 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -282,6 +282,7 @@ CONFIG_W1=y CONFIG_W1_GPIO=y CONFIG_W1_EEPROM=y CONFIG_W1_EEPROM_SANDBOX=y +# CONFIG_WATCHDOG_AUTOSTART is not set CONFIG_WDT=y CONFIG_WDT_SANDBOX=y CONFIG_FS_CBFS=y From patchwork Mon Aug 2 15:00:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512477 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=eH+djnku; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh7N6fzyz9s5R for ; Tue, 3 Aug 2021 01:02:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 843088343B; Mon, 2 Aug 2021 17:01:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="eH+djnku"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 122AC8342D; Mon, 2 Aug 2021 17:00:57 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on071f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::71f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3DABF82B45 for ; Mon, 2 Aug 2021 17:00:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U/XDLjJCLq134gsf0wb7D7PmZXnlcNWrE9ZYpekfPguhMr/WDniV6SAZ8rT73m3I8VjErwgeOWJ35q5KTNCMgDz1XCW765oC+dZRDubC5pfquicSCjjfV1vDe1a6si6zpC8iQYbGuKrbLNRQe0w97RUM8OsTrduxH5By4IUHl6vbMaVJGg7QUOpqwKNXpJkwRehkpFAgWcMtJeKnFfPcIP9R8V/JX1LzP2waQhzdPMGdr69zfJBPgiMv4Kmgr0317iCa2E1Y0QTOO8+Ot8mTEZITvQKt1jGbDCUNN14f8VzxxbPQj5hLtEGSB+m1VxcrzgzMEz0q+7QUpOlKfjnOaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g4xAmwEcYAV13CW8yj1zZr2oNYlMgU0XrDu3FuMshvM=; b=lOKPvITEQXAQ5OzypNb3NXk7JESznyOCCX1n0IhsyQd6OkwSwX+W55Z57t3P73Tc58TkAZRG1+ShbbD8MqCI8TiDi1w8xoaYhHfmwSqV1uUdXl6JHVZD10fkqtXz4r0v1u1Ib7MdH/yYNRF6kSb/X8RN9OGUpTfsFLMZ7otrNmM8V5oAISUXDujh+1cXq0QJRwIyRjySZMSVnCRB5IEQr1A1r7K8CZgAfIeufLSQ4bJj7uVpcy5w8Q2l6GYkmWE/4zZ2uJ2LHUzT8iyESnuqf7FBQ+xDdWRhtXOTeF3G5EuAmAfZHcAB2Bagfzq+Qv+4TxQz7VOEVme8pBKRnQHGUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g4xAmwEcYAV13CW8yj1zZr2oNYlMgU0XrDu3FuMshvM=; b=eH+djnkuhPj1RGWFMZ9L9HSkVuOuM2irtnEeZPI3x4ha0ZJhPoargYrOVLFU2ND5amdtbpXqYppBwD7IZaXHj/t9zenJ9hvObfhW0Nr0b+KwnJHvw/wTyWGjh57TlHLcbHvbFggPYO0Xiyh8/wXe03poYlA/0fEOK2QO4ArMIbs= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3586.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:157::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Mon, 2 Aug 2021 15:00:34 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:34 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 07/10] watchdog: wdt-uclass.c: handle all DM watchdogs in watchdog_reset() Date: Mon, 2 Aug 2021 17:00:13 +0200 Message-Id: <20210802150016.588750-8-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 65ab4d4f-dec3-4ec3-e5e6-08d955c6477e X-MS-TrafficTypeDiagnostic: AM0PR10MB3586: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pRqqUJ741ecPVz+HPS6uYOJjwc5QEfCcuDWlcRaWAKaVS2s/Kl68bzAb4TYhKpz7PnBONvKuZtHokTSLNIIyGg3lMeIo24bcAkFYKnNZgVPvGBgWqGfIGHnwYwn3Q1UBbIvLTMF4Hur5tMbw8CA+RC0OKsTqlqCTEhpi9nVMbjlLqNKvCZLswvyNZxF4/kNn8lVR0/ToOMpLdIi6tSLeE6fWySseBLSfxZeXgfARC3m1Xl6UQvzXu2Cb9QkMYHZcmixRYAuKdb6doz9U4a2QPTbx+ZjeH3oCj1aYnaNBmX2oXG/2JHRQXt5PGxITERi2Wn5mjrAS8OS4dABrz+kOVjSIYApf45ezlrF+KH+n91mDXopC9WsQgJTSddxTfR9hcis+mNcXBxdul4p22ZZ+jObNFZsnKKTzBHfmSiR9xNNFsbTnTtoo7JHM8McMmdGLwDwGqPjmLHNf6xQD3lfmVQzj8hWe7lcDe1fH6IVcNwCeiYxNUFHVuZYqpHbTiO8H99xIwZ3BBfKPJF4Cj9qvSUdKawW7e5x9G94gzHm91/rBVQHh2poagAfJi3Z7eaIpQKm1VRHiSQufsNo0v2lviI7JKd/yZOV/v1kRGDS1h5JVphVVCc47mqPl0GBcWgh5YgiDz4MOp3hy30dSQvpUNFg9c3fHd98EhvErCr/QJsLWlU1b8b1hYXg+K5W7Hy0XQa+CKUq6QS+qBkiGyahgOA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39830400003)(366004)(136003)(346002)(376002)(396003)(36756003)(1076003)(107886003)(478600001)(38350700002)(38100700002)(6486002)(6916009)(5660300002)(4326008)(66476007)(66556008)(44832011)(66946007)(6512007)(86362001)(6666004)(956004)(316002)(2906002)(54906003)(83380400001)(2616005)(8976002)(26005)(186003)(6506007)(8676002)(52116002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UN38xn59I86XGUq8LnN7fFhe6PSGkE1JWRy1wZDQaclXVyPbAiNUEd4qK1GAwRd3Zxq7g6HssVOiZ1lCJ+3kiB2gaOdQC5uQIWoqdjG5Wc+bowMsi3Ks3K1T2sDG9/5gB8hpB/H6PoAxhlDy0gNegoGvEEcYeZ+aC3IewMjb4jpfK5j+3FkWIxdbGdnst3xU+lflOG4mvwUk4WlLWCvg5vCpYswGXdF4o3sJoBP5UIJ2f97Npd7iXnkGlpA0ALBoafsiNk9Jy0PL6vmjndsncSsST57Vvvse4HrZcgDZJcgQtbVRp3jf+8Wc+uioAaxZ2/5+tsUIflQ/NywnpTNmK0t4H7ZVpWl72tOdbLxegnAI3LlYeLOswEx62UFFpVmQxRzrtWr/IkSYp3PD0Zg9qeDIQqsU/48hdStSM8gPXdEEHp+KU8ONPR4byCp+4gZ7GWPWMQCfvYV50KFNPRfvENqKhm1d5DAAdNqZhHLtb75Yu5dibKoILwT70OUjNJhVYdV3DZA5/oW7UluIUK12SlmhoW7rtionsL5i+/NqW5uMO+RNhj3BQnABOtnLqvYCnZW5jhLAwwwa5n0qyoW52REMTRPr5pTY80BvCdp8Wpr9Ok3mtLBLBphkRXAYihEdPSlgx8pgATuLLvt8C1ptwW1b8bICv4fAIFroi5k0a4D+1X2aKcG0+O3kc3IpFD9t/B/BUf4enscQD3HVAh/bT7CgJzPRNmhJaZ0w0dsbLlAvYt9JF9oiry2z7I+04z7a5LNw2MzJMVLl6vFbSgW6XdqShst5vYCZQQRT3UekVwk9bmfi+UaIX5RKCUkKUbiyATMIODVfUkeo33hrlluerhfgTjvbZXApLcAb0oA2lXG9wNqqfF3/PLo7eBgIPFRKMe9qNxv3hxmd3QlDUciuKs0oVFC5XcLNTR8lIX3idzXG0Yg7B7V7CFwvXBUYomTK1y/xtPt62rr9w7XMfLUG5lERWKtgt1q7pXNU3aakfabZcHxlAEkjDn2yXpmt+8qdk2WcaPbTlFXvhh13pGMwM5ylKeHZNX76ZtQgI3LtsviiueFwVb/qCDHnwuZYjdcReRc8L+a8yQcqnZY37OKqsPPBTuRq5yUMAlVUcjoEVdkuqdB6uGujeKSpqQFQiTy0NdxF6BS9AMvdtzTEk1tleCT8qPg6k9kmhcpvcd+bJkkO3gRjhGJLuDIC7+Pu8zdGvXlrC4ENRrUfv0zw9dc0sIn6IjGwAFJKgjPxEyd4XexT9G5tfedSpu6tp+s03859PniMCaFry8SdU8ublzveIJmadtf3A9QHDGgqkeRcsmIkblj/jgyS1dpVSWk/nDT4 X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 65ab4d4f-dec3-4ec3-e5e6-08d955c6477e X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:34.2389 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yTQY9SsqJlyJjHZqGntGQMiRYxqLUSaroEejCeG5sA+zMCVGlljXIJDgKKWkkA8XwFg/bUqIbkjnwBD6pveJNSCgu2m1KtC+lKlFGWRnTIE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3586 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean A board can have and make use of more than one watchdog device, say one built into the SOC and an external gpio-petted one. Having wdt-uclass only handle the first is both a little arbitrary and unexpected. So change initr_watchdog() so we visit (probe) all DM watchdog devices, and call the init_watchdog_dev helper for each. Similarly let watchdog_reset() loop over the whole uclass - each having their own ratelimiting metadata, and a separate "is this device running" flag. This gets rid of the watchdog_dev member of struct global_data. We do, however, still need the GD_FLG_WDT_READY set in initr_watchdog(). This is because watchdog_reset() can get called before DM is ready, and I don't think we can call uclass_get() that early. The current code just returns 0 if "getting" the first device fails - that can of course happen because there are no devices, but it could also happen if its ->probe call failed. In keeping with that, continue with the handling of the remaining devices even if one fails to probe. This is also why we cannot use uclass_probe_all(). If desired, it's possible to later add a per-device "u-boot,autostart" boolean property, so that one can do CONFIG_WATCHDOG_AUTOSTART per-device. Signed-off-by: Rasmus Villemoes Reviewed-by: Simon Glass Reviewed-by: Stefan Roese --- drivers/watchdog/wdt-uclass.c | 56 ++++++++++++++++++++----------- include/asm-generic/global_data.h | 6 ---- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index 358fc68e27..0ce8b3a425 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -61,20 +61,24 @@ static void init_watchdog_dev(struct udevice *dev) int initr_watchdog(void) { - /* - * Init watchdog: This will call the probe function of the - * watchdog driver, enabling the use of the device - */ - if (uclass_get_device_by_seq(UCLASS_WDT, 0, - (struct udevice **)&gd->watchdog_dev)) { - debug("WDT: Not found by seq!\n"); - if (uclass_get_device(UCLASS_WDT, 0, - (struct udevice **)&gd->watchdog_dev)) { - printf("WDT: Not found!\n"); - return 0; + struct udevice *dev; + struct uclass *uc; + int ret; + + ret = uclass_get(UCLASS_WDT, &uc); + if (ret) { + log_debug("Error getting UCLASS_WDT: %d\n", ret); + return 0; + } + + uclass_foreach_dev(dev, uc) { + ret = device_probe(dev); + if (ret) { + log_debug("Error probing %s: %d\n", dev->name, ret); + continue; } + init_watchdog_dev(dev); } - init_watchdog_dev(gd->watchdog_dev); gd->flags |= GD_FLG_WDT_READY; return 0; @@ -157,22 +161,34 @@ void watchdog_reset(void) { struct wdt_priv *priv; struct udevice *dev; + struct uclass *uc; ulong now; /* Exit if GD is not ready or watchdog is not initialized yet */ if (!gd || !(gd->flags & GD_FLG_WDT_READY)) return; - dev = gd->watchdog_dev; - priv = dev_get_uclass_priv(dev); - if (!priv->running) + if (uclass_get(UCLASS_WDT, &uc)) return; - /* Do not reset the watchdog too often */ - now = get_timer(0); - if (time_after_eq(now, priv->next_reset)) { - priv->next_reset = now + priv->reset_period; - wdt_reset(dev); + /* + * All devices bound to the wdt uclass should have been probed + * in initr_watchdog(). But just in case something went wrong, + * check device_active() before accessing the uclass private + * data. + */ + uclass_foreach_dev(dev, uc) { + if (!device_active(dev)) + continue; + priv = dev_get_uclass_priv(dev); + if (!priv->running) + continue; + /* Do not reset the watchdog too often */ + now = get_timer(0); + if (time_after_eq(now, priv->next_reset)) { + priv->next_reset = now + priv->reset_period; + wdt_reset(dev); + } } } #endif diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index e55070303f..28d749538c 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -447,12 +447,6 @@ struct global_data { */ fdt_addr_t translation_offset; #endif -#if CONFIG_IS_ENABLED(WDT) - /** - * @watchdog_dev: watchdog device - */ - struct udevice *watchdog_dev; -#endif #ifdef CONFIG_GENERATE_ACPI_TABLE /** * @acpi_ctx: ACPI context pointer From patchwork Mon Aug 2 15:00:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512478 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=B9E9wL9b; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh7c0Mbvz9s5R for ; Tue, 3 Aug 2021 01:02:36 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 425988343C; Mon, 2 Aug 2021 17:01:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="B9E9wL9b"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id F0EE883421; Mon, 2 Aug 2021 17:00:58 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0730.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::730]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C78668341C for ; Mon, 2 Aug 2021 17:00:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nJW9+2gUyjxozbq+tEsjeOpEWDD627e3x9XWtlTz1Ub5YbZw9p7wHgDowWD4iryWvz3sJwYt5Cs3FLjDbKsDzGPhxCVOL2nYm2VOdhXtxf/6hCGgC9RhyriQALr4S9MqcZGeuj+tl02tGuQkreBaj0jqxHoX2BR2rhKUZBIHK2NAI9/zx05tb/M/kD/fhTgqAmYkargwA/Z8xXW6GMtRtVAWCu9SRU2U0cvqDw7A01MsWk1CMVKaO/VyORdlxF9gvOMucWvutwV9bDptSpnfEAY5Ba6PpwqQnjBohKimEhV2Y38mgW5GU+8a4dDN2Yc+6jzBb1sun3zoiqyyQVcyKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wVHtMlh6BnVxk0kZ3R9jr8TMp7CoyIL9ebyTI90EULM=; b=UFylhCkfB4rqAKN3HawsmYCKa17IHNeFo7jY7o3uy+S3mkgMHYtjPO+DA8IkL0T5FDXC7NgC5cCkz09BayJppVk3RcmWABxeUM97y0Ecy+1PS5AUHpT+UBfW7nLxI6lXBExdxxLvIdkpBuw5qMo59hkNPehfTvF5eJWJzdUYOXnqeqx25yeTGB8pPbMqhlIqWPQpTXBGVyp6YbuwbuAjWB2jF9DTPbSJEx2CMy0xypAQvFhfOKfD3GQRXz7T82nyGv++Sksg3SLMOKyDHWvR6zC1D8ug/sIwxUeo2R6WH/y4IXRywMynzxuEIfRb6M7RkK6DZ0Tz4I4jaqX7A5CV8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wVHtMlh6BnVxk0kZ3R9jr8TMp7CoyIL9ebyTI90EULM=; b=B9E9wL9bBhMSnRbGJ9aq1lu2znobYXZOtF7Q+blIWYPNSdEcZXZMtPuHtK2gWPDrVWhfxgSv2XIpV9nCFBAoySroFsPwM8T0so7HqrhWXTcyAJOXDaM/tP+TzUHzyOko7BHL0Vz/51C9ndzh/qaKnDWGUF2NBFEzu0RWC1UJmtY= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3586.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:157::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Mon, 2 Aug 2021 15:00:35 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:35 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 08/10] watchdog: add gpio watchdog driver Date: Mon, 2 Aug 2021 17:00:14 +0200 Message-Id: <20210802150016.588750-9-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:34 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d3d95dda-68f1-490b-8d39-08d955c64817 X-MS-TrafficTypeDiagnostic: AM0PR10MB3586: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J3UNf+mPVZVmRb3V2SMRCiwTzETe5ujPgM9Vij2IYcD8vRRI8wQuO1eaRY4fj1HkbTGBZ2RJr+gugrUIX3FswWDe7lC0ijtAPQ5KsGgYAYmSDUvPAr7XzL4fUkJ4GB27R7ob2whIhbOPnwV+IqXrp1GaXWLDOuwTJA7q6TdQyo18l8N7vP39GxxX+kllc4eehTl1pq9KYXubYCssBM1qZwUu0UpnYxisc7f54fpxXN9rHanxv6OMvGkirZYzk14qxVOdymbl184Hls91ZH7lErqvB8Th4V5Ot6nKhpNkh1jNAOukQj0myP/7UsRerZ+R5mkgX5feIS2EPksejhFuDaD3Xf4vzgYztyuJcZGk1yjAN2G2v/Lxf9oBLrZRa4ETc20XOhdyUDEBHbyb2u2C1wNcqaNsZhAo4c64b/8hQdvUkg72cI2EfBCdlFT0nk8Brrp1FyVSR8IqDcG/loaz4rmwsj8LMs8f42sPAtcl6nqBdX9ekrbZqbXP9mGrrqg6zK9mZCqwiOrqAPavi6gj1j+7Ffl/uqvqIF79+Hm34wxl+fHlUQ3dTN6aqmfYb4BPwGLEgENLl7jqr1EJBj5/e+f9QG4QOHypakxgn9toHYKJeXyBe6TRdzk4Arf90iF60imnv2ZHJiSSOrEtrrQTjQjpTowKmppTS+yus8efZJ/G3AI1InkeIUnQG2H3PAqI0VNnL60+VEZ0kqXXB4521MOahOTNfMhYjSxNCqkbc1eoqhnEp0LBDsDjs3R8O4+PGFifdxP/n7G59eFmMaXL1tovsmqvFfttU49fPc4LY/w= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39830400003)(366004)(136003)(346002)(376002)(396003)(36756003)(1076003)(107886003)(478600001)(38350700002)(38100700002)(6486002)(6916009)(5660300002)(4326008)(66476007)(966005)(66556008)(44832011)(66946007)(6512007)(86362001)(6666004)(956004)(316002)(2906002)(54906003)(83380400001)(2616005)(8976002)(26005)(186003)(6506007)(8676002)(52116002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8nNjP71dxi7Onb4Fxs53/MbBa0es78GtU4gdhy8x7TANmZ5mfrRZ4uzw4fHPWUGGmc9IrRP+7gCRwscOReHI8cN93bC+K7m1LagZSYMjBIui3bvom53BNl2Vtd44KWsXM2uMsRminsT9OwgV9NDgga/yTqc42+rBqtU0XabWz+MtUfVels4EvsYzkscITBmcp5jL+WlHrZWZnTJbh0NpjtfFfUT6KJlyAp3ogjAddFfm0AHcWhuTu9ZPrTfsNzEIa3JSPgTLu5eHmPcnubVNLcaWmbUnxTxJnFKlqcmhLrcD9SXzmcX3vD/ISqnYYVcKH5MoyvXoIirIZBKhNrJCgDEpY/5jSFG5c+HUtaE4uDIJQcBnjRnA7U8AeuCDyxaP7syRXMMghiC9YzZphqAzxxEzagv4ZXTx+1BZKyLQhLVtLXXE2ZBYDuV+6pCknGhBzuL0oJ4KlMF3rQzX1y5xuenxcEfj8gf9O5gultsq2xgaQ5zuEvtK+4prLWO31mc0k/HCaHO3N7n4/RQ02mDIPPLZFELx+NB4BpwzkjZiJ8kn1xFO9kNVlKbtr0BS0j6I9RfpRo9MKdF4KB2A/Hxt35RSRnn7hbj+4FFnpepGTnpoIDa2m8TueytNn/2AdBGsmDjhu8LTzkQdXbmh94KhfNnyR5HNlEmQ5hnp1nrrGK9bugaLWvyAcXZ2dYbgbXdEaC5FjXckBzQOtQx83hakNVT3P40kSMNpJ3eOSHsfGy0z8UKK7u0Uz7J/Hgf1CkNIXRJNPxQFuYlppWCgu79/E8RDiFxEThIZBa6u68TO1wp70/7basyTUbzyHvQ0g95eDi+oyAM4hbRWLtANI2lXYMCUFQmHxfxC3NenuKoIo0UXzOZwiZmVl+RyuGbrlacI1W7YDdUArYux0Xyu6iHZjDCt850O5rTEQMqadmmeselOMUQcO2syCVKjyDaLU8eXHx4CIaZXbUxLZmW4qfUZm96ehMg+pya+5yXYFadrYtOgUnvj0pjG/0El4ZtHk70FVf6xTl0vXfKlnW+308eiyac+NFeYKSLwZ7riGQXCOkhbrRW7vOaranYEk7ZX8jqjPU56JVmARoLc2gJGEKHUMO4wBGlTTmDgkDJcEpZjlESp7pa8z6sF1EKJFidEc7BSdLgzzSISl8mASkDC82JQxEKFjnk0g5M1xlyHp3RGJrxRjD9vJxd5qvhrdmWQdk/trewzbfLmJJdynLAmDg37vTaN/juKe2jSVxARbNNxqhlgZYDWspghvJINaJ8N7Ak/tKRC5MANs9xh+HQh+P33moSIkvl8xWakdVdrPEpgPunDuN/ir15kg6dYJU08PQvo X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: d3d95dda-68f1-490b-8d39-08d955c64817 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:35.2793 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RJouHzL2AVjPBCHwK455cguDYln0Osbgzks1hMPNWQ4ZkTKaGaW98kL0q8RmY2ma/H5MclnYvkkW08JDWaReZ5AXJfXpyKrUZH3hspqDBtM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3586 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean A rather common kind of external watchdog circuit is one that is kept alive by toggling a gpio. Add a driver for handling such a watchdog. The corresponding linux driver apparently has support for some watchdog circuits which can be disabled by tri-stating the gpio, but I have never actually encountered such a chip in the wild; the whole point of adding an external watchdog is usually that it is not in any way under software control. For forward-compatibility, and to make DT describe the hardware, the current driver only supports devices that have the always-running property. I went a little back and forth on whether I should fail ->probe or only ->start, and ended up deciding ->start was the right place. The compatible string is probably a little odd as it has nothing to do with linux per se - however, I chose that to make .dts snippets reusable between device trees used with U-Boot and linux, and this is the (only) compatible string that linux' corresponding driver and DT binding accepts. I have asked whether one should/could add "wdt-gpio" to that binding, but the answer was no: https://lore.kernel.org/lkml/CAL_JsqKEGaFpiFV_oAtE+S_bnHkg4qry+bhx2EDs=NSbVf_giA@mail.gmail.com/ If someone feels strongly about this, I can certainly remove the "linux," part from the string - it probably wouldn't the only place where one can't reuse a DT snippet as-is between linux and U-Boot. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- .../watchdog/gpio-wdt.txt | 19 ++++++ drivers/watchdog/Kconfig | 9 +++ drivers/watchdog/Makefile | 1 + drivers/watchdog/gpio_wdt.c | 68 +++++++++++++++++++ 4 files changed, 97 insertions(+) create mode 100644 doc/device-tree-bindings/watchdog/gpio-wdt.txt create mode 100644 drivers/watchdog/gpio_wdt.c diff --git a/doc/device-tree-bindings/watchdog/gpio-wdt.txt b/doc/device-tree-bindings/watchdog/gpio-wdt.txt new file mode 100644 index 0000000000..c9a8559a3e --- /dev/null +++ b/doc/device-tree-bindings/watchdog/gpio-wdt.txt @@ -0,0 +1,19 @@ +GPIO watchdog timer + +Describes a simple watchdog timer which is reset by toggling a gpio. + +Required properties: + +- compatible: Must be "linux,wdt-gpio". +- gpios: gpio to toggle when wdt driver reset method is called. +- always-running: Boolean property indicating that the watchdog cannot + be disabled. At present, U-Boot only supports this kind of GPIO + watchdog. + +Example: + + gpio-wdt { + gpios = <&gpio0 1 0>; + compatible = "linux,wdt-gpio"; + always-running; + }; diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index f0ff2612a6..6fbb5c1b6d 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -147,6 +147,15 @@ config WDT_CORTINA This driver support all CPU ISAs supported by Cortina Access CAxxxx SoCs. +config WDT_GPIO + bool "External gpio watchdog support" + depends on WDT + depends on DM_GPIO + help + Support for external watchdog fed by toggling a gpio. See + doc/device-tree-bindings/watchdog/gpio-wdt.txt for + information on how to describe the watchdog in device tree. + config WDT_MPC8xx bool "MPC8xx watchdog timer support" depends on WDT && MPC8xx diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile index 5c7ef593fe..f14415bb8e 100644 --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_WDT_BOOKE) += booke_wdt.o obj-$(CONFIG_WDT_CORTINA) += cortina_wdt.o obj-$(CONFIG_WDT_ORION) += orion_wdt.o obj-$(CONFIG_WDT_CDNS) += cdns_wdt.o +obj-$(CONFIG_WDT_GPIO) += gpio_wdt.o obj-$(CONFIG_WDT_MPC8xx) += mpc8xx_wdt.o obj-$(CONFIG_WDT_MT7620) += mt7620_wdt.o obj-$(CONFIG_WDT_MT7621) += mt7621_wdt.o diff --git a/drivers/watchdog/gpio_wdt.c b/drivers/watchdog/gpio_wdt.c new file mode 100644 index 0000000000..982a66b3f9 --- /dev/null +++ b/drivers/watchdog/gpio_wdt.c @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: GPL-2.0+ + +#include +#include +#include +#include + +struct gpio_wdt_priv { + struct gpio_desc gpio; + bool always_running; + int state; +}; + +static int gpio_wdt_reset(struct udevice *dev) +{ + struct gpio_wdt_priv *priv = dev_get_priv(dev); + + priv->state = !priv->state; + + return dm_gpio_set_value(&priv->gpio, priv->state); +} + +static int gpio_wdt_start(struct udevice *dev, u64 timeout, ulong flags) +{ + struct gpio_wdt_priv *priv = dev_get_priv(dev); + + if (priv->always_running) + return 0; + + return -ENOSYS; +} + +static int dm_probe(struct udevice *dev) +{ + struct gpio_wdt_priv *priv = dev_get_priv(dev); + int ret; + + priv->always_running = dev_read_bool(dev, "always-running"); + ret = gpio_request_by_name(dev, "gpios", 0, &priv->gpio, GPIOD_IS_OUT); + if (ret < 0) { + dev_err(dev, "Request for wdt gpio failed: %d\n", ret); + return ret; + } + + if (priv->always_running) + ret = gpio_wdt_reset(dev); + + return ret; +} + +static const struct wdt_ops gpio_wdt_ops = { + .start = gpio_wdt_start, + .reset = gpio_wdt_reset, +}; + +static const struct udevice_id gpio_wdt_ids[] = { + { .compatible = "linux,wdt-gpio" }, + {} +}; + +U_BOOT_DRIVER(wdt_gpio) = { + .name = "wdt_gpio", + .id = UCLASS_WDT, + .of_match = gpio_wdt_ids, + .ops = &gpio_wdt_ops, + .probe = dm_probe, + .priv_auto = sizeof(struct gpio_wdt_priv), +}; From patchwork Mon Aug 2 15:00:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512479 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=F03Syyje; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh7q500gz9s5R for ; Tue, 3 Aug 2021 01:02:47 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A147A83440; Mon, 2 Aug 2021 17:01:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="F03Syyje"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 78C1C8341A; Mon, 2 Aug 2021 17:00:59 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0730.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::730]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3DD6C82CDC for ; Mon, 2 Aug 2021 17:00:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CSRVK7YI7JcOw2Qh9L4ogS38vNWnbTrQgg26eiR51q8Xfh6BYdbV6v/q/jWP3dIiGhN2GO8N4kOY5+Omi2cEv/lbbvIj6bz0NKNrKUc7r5OErD+p/wsLX5XOnGGbHGVcEhdgpY2n5rx2aaC4qJLOjZ7gtVvTZsMkeK+9+RfIX1p0oxgjXvLWLMrUA+3YaoKfhiT1Ez6CugHnktFK5YzcxiZbtgFNHnQxA4elF/qK9mINLyEufcacj2Gw60MvYghkm977487fcEDnbdKcTVYYkvWcy4hkcgPZjMnsTNPDysafpiZ6w8+r6SrFxTvxwDoFiEVMYD+iMkzXep0f9iUeew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cS40Syk8v1FDTgWqe3Yc6T//hdR33J0jnVWHomnX+ec=; b=YkC56QkCRZ0S44o8fzoIWEcxAl3lJfpSRiDvFgUdPrzOxYn1MhY51YIId0dZR3afHK32oJuxS8Us1kIS+N58WMmveAz2ch8OZTPnr1Ls/7OaKaxZFwkVZU+eW9Mgj09IDdlY9PcnLm8fvttQcbZnoPuPO438d4V4nBoag0HxAXR+rL8vdaTaiGacFdcuMyIdaAWIOz8LPOde98JpkDULs21tw55kOwPpJ5BgJ4lmETHiySe9CuEguyLGn0bCKH+a71iG4VeZXgwjC11/+xjTyrTwU1wIxhXmTAOdvdca+iXJjG44tQk1Nz/ffbgHsvnx/orM9CmdSxRPWm/YSli4nQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cS40Syk8v1FDTgWqe3Yc6T//hdR33J0jnVWHomnX+ec=; b=F03SyyjeE4/27U/rG73h97iYwYlsOtIBJZpKhLRvzNGpS0pYjviWHYm1lWBRgeMTRiByDdVxZFgtPIsBJK2ccDc2B5xta1+9ZIaTL2XSx7xLmVpOX7GoV2aCIygGfHaVsYTXRde6/XEFSONle/E9htSRoeJi6gMZGlcy0NvC+S0= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3586.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:157::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Mon, 2 Aug 2021 15:00:36 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:36 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 09/10] sandbox: add test of wdt_gpio driver Date: Mon, 2 Aug 2021 17:00:15 +0200 Message-Id: <20210802150016.588750-10-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 52ac1850-aff2-44b1-4a4d-08d955c648af X-MS-TrafficTypeDiagnostic: AM0PR10MB3586: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y7Lt0K3CIO645ZL3MSVJzCm2/pT/xHbGk9i+TU5388UtTSTtqh6/2llw+TLgHsNGiC2vv1K9vzKYaacNFONW3j3WtTd1AdGeJrg0BdWzv81cQrKZBELrFe3XOUJ42hO2jivXHMPSA5v0CcZy4Ybk9A6uYgGf2hDDmM14hGCZZiU3uErsXMd9A+TAmGoS2T4d8DC3yhfFqJX3dwmRiGPzIAyeoUMp9xSnOiAN96+YOk71n5SkDiaYm7zYn2wlPEvK6MVSu2+GlBUrNhiUvfwRFngbhBMmaPb42OV6ocMg1kVIa1kCSFHZ3c/eZtrjRgnc9lcwV/vnPNE5bE62CczEwEC6x/R/pEp8VraCQ7OxageyMJYCihC4YLF3EHNcoZainflE5MZvPUHIfor04EXCogaW+E7wEbeux/Ge8xU4NaACJYA60fyZRUxczC880H1v7gG6IJStMTIRYjdh7Ej75fF6rhYoZXbOsfxyCD7lKBWYUPUfGCtw06ivTxZuqTpbay1qtoai58P3md5O1AVfq/lJYNnBFO8ci3daoUtmy26NHh/zKQHG/BFYM6JO255YGmgAqNeOBEjz1ew4/SUYKzU7a/CfIttzQ2IRDdSXU9bnw/sazVpMZBkhDv8sUGLKEzpxVNTHE9Gvf+o6PSJoUyVHR/hV1DgWPC/9Fld+8RhfQsTf0MvC6tRXxmcYVX6VaaHT+b2Xp0qgyTbacEE2vw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39830400003)(366004)(136003)(346002)(376002)(396003)(36756003)(1076003)(107886003)(478600001)(38350700002)(38100700002)(6486002)(6916009)(5660300002)(4326008)(66476007)(66556008)(44832011)(66946007)(6512007)(86362001)(6666004)(956004)(316002)(2906002)(54906003)(83380400001)(2616005)(8976002)(26005)(186003)(6506007)(8676002)(52116002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GUqF0ZUIrP+gy2ZzKsYcpK+bSCua6+tmFtYRzdQYEMV1FZWeFWaBOcntMJu1NwqmZU0KK9VtFbm3aPgwUe49zLkfy1pKCNL4c597Hqd8ht1mPxTsZFpSHrHagniEqvJhPwhhY3/swvww97Xwd48cpe9KinGszEExmNVFhgTzy3zM3mtXVI1MenlSXVYqtL06cdCPEE+SfrxUYBhEYgZLNZeUM8nV58hw+Oj1MfqAxZrTXoU4fWx4/JjaV0ebI9OukEh/dGA8lvcS8LArA4irrU95DwbHe5mf3EgOOX7KI1RTv0Xg5EiD5xbN8oeowH8syQXkI2DL43U8R36waUmorMeNdCHCHSQFUkuUZsh7dnoFN8TaSNW9DxjWUqyRzfKFVdB1RQKncvC7Kij5cDDbsmODTqZS6CxV7X3PsRlljNlSe/AbN8PfucBaCifqA6rE1/ceczCQXAMM4iZTBC+z3z1yWaN8bDLxCUYdI0Ac5Fz3XHwSLW376kOlQsvrYpTLEjo8wR3AHJyAoAPspLHZ9q2w6U8M2nErKtReIczvVuYhZUfyznzLaArpfPbBjVxkUonclVXOkrNQhaNejALIBJ3AymvXjeEEFX+igpGlV5JlcmgeGY+jCUWd3Xbv9E979GQoeqxgm3j1+xpMlwSBPxsJD0kNnl0xKCArzLb8/gGFD1YDOV0g1C7gwqlegGs0hAIkfSZXeFZVayeLizA9dwUuuW/VNEyo5mwKYfcGIX/Zf4x/o4pyIZrKtS7RVY3fW+6RrVEpQ7SuaDfO/KRrhmnAnQAejUQM//uPLxXTeOo5odPRlH7mbSuXoW5lfOacbEdYr+hgNkqVoixxO8cieBcwfxJGHJFbDpRPdWLoDjWCNQfn8QOydFeiaxT2U0RPcxxnp9T7r/Pd2iAtvytniGwoJuuaMv5Xu5+S3JNpE8PChc4Ukko0c78dLKo2cU23hLWb0KqJhHqIE0Q2sx2jp33RR6faQD/okZXkm/9AC1I0TMnctn49udT2EV8G2BGHB3/sD+ykA3Rqv70UFvtNVzH1UhIYnFcjPt9d6H0ldKDWcTQsQIcZUoK+L+3FcZe4eF0s25WAYKmfnG35kIP+Iu+uHOFfgg8gkRyw4KXLp65PbqrIJhtspQ8ryJ/uSRMar13GlopGGAHWfIBazsfAu8+kTIfmoLiUYoALRTcFtOLqoQym64iWvR1OdLw9+qhnnYG5rH5sq3QwEkcS4H2Kb6P8bccWh1dMXDmYlP70GfYxWheumd8ysMW6Z87HI4WagV+iztHFVO8bhO/eZWwY64+Gkf2HhQCd+xuDX3/KNJ2rUNyxwiijRWU0gDoDRUvr X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 52ac1850-aff2-44b1-4a4d-08d955c648af X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:36.2917 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 69r5YExWbHTeUltnGhFtChG0qyPHs4ofW45xHTamYzjPZQodoXbYGApa3GpTEmYyUgvgnaQ6Spg0lEgdOcQODDGAPurfVrbF/7qWg5RU/Z4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3586 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean It seems that no other test has claimed gpio_a:7 yet, so use that. The only small wrinkle is modifying the existing wdt test to use uclass_get_device_by_driver() since we now have two UCLASS_WDT instances in play, so it's a little more robust to fetch the device by driver and not merely uclass+index. Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- arch/sandbox/dts/test.dts | 6 ++++++ configs/sandbox64_defconfig | 1 + configs/sandbox_defconfig | 1 + test/dm/wdt.c | 36 +++++++++++++++++++++++++++++++++++- 4 files changed, 43 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index d5976318d1..fe5ac6ecd9 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -779,6 +779,12 @@ }; }; + gpio-wdt { + gpios = <&gpio_a 7 0>; + compatible = "linux,wdt-gpio"; + always-running; + }; + mbox: mbox { compatible = "sandbox,mbox"; #mbox-cells = <1>; diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index 3627a066b4..6cad90b03e 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -225,6 +225,7 @@ CONFIG_SPLASH_SCREEN_ALIGN=y CONFIG_VIDEO_BMP_RLE8=y # CONFIG_WATCHDOG_AUTOSTART is not set CONFIG_WDT=y +CONFIG_WDT_GPIO=y CONFIG_WDT_SANDBOX=y CONFIG_FS_CBFS=y CONFIG_FS_CRAMFS=y diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 34b749b47b..4a8b4f220d 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -284,6 +284,7 @@ CONFIG_W1_EEPROM=y CONFIG_W1_EEPROM_SANDBOX=y # CONFIG_WATCHDOG_AUTOSTART is not set CONFIG_WDT=y +CONFIG_WDT_GPIO=y CONFIG_WDT_SANDBOX=y CONFIG_FS_CBFS=y CONFIG_FS_CRAMFS=y diff --git a/test/dm/wdt.c b/test/dm/wdt.c index 24b991dff6..abff853a02 100644 --- a/test/dm/wdt.c +++ b/test/dm/wdt.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -19,7 +20,8 @@ static int dm_test_wdt_base(struct unit_test_state *uts) struct udevice *dev; const u64 timeout = 42; - ut_assertok(uclass_get_device(UCLASS_WDT, 0, &dev)); + ut_assertok(uclass_get_device_by_driver(UCLASS_WDT, + DM_DRIVER_GET(wdt_sandbox), &dev)); ut_assertnonnull(dev); ut_asserteq(0, state->wdt.counter); ut_asserteq(false, state->wdt.running); @@ -39,3 +41,35 @@ static int dm_test_wdt_base(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_wdt_base, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT); + +static int dm_test_wdt_gpio(struct unit_test_state *uts) +{ + /* + * The sandbox wdt gpio is "connected" to gpio bank a, offset + * 7. Use the sandbox back door to verify that the gpio-wdt + * driver behaves as expected. + */ + struct udevice *wdt, *gpio; + const u64 timeout = 42; + const int offset = 7; + int val; + + ut_assertok(uclass_get_device_by_driver(UCLASS_WDT, + DM_DRIVER_GET(wdt_gpio), &wdt)); + ut_assertnonnull(wdt); + + ut_assertok(uclass_get_device_by_name(UCLASS_GPIO, "base-gpios", &gpio)); + ut_assertnonnull(gpio); + ut_assertok(wdt_start(wdt, timeout, 0)); + + val = sandbox_gpio_get_value(gpio, offset); + ut_assertok(wdt_reset(wdt)); + ut_asserteq(!val, sandbox_gpio_get_value(gpio, offset)); + ut_assertok(wdt_reset(wdt)); + ut_asserteq(val, sandbox_gpio_get_value(gpio, offset)); + + ut_asserteq(-ENOSYS, wdt_stop(wdt)); + + return 0; +} +DM_TEST(dm_test_wdt_gpio, UT_TESTF_SCAN_FDT); From patchwork Mon Aug 2 15:00:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512480 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=A4qtV9LI; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh8226hxz9s5R for ; Tue, 3 Aug 2021 01:02:58 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B6ADD83446; Mon, 2 Aug 2021 17:01:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="A4qtV9LI"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2DEB68341E; Mon, 2 Aug 2021 17:01:06 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,T_FILL_THIS_FORM_SHORT autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0730.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::730]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 959E083411 for ; Mon, 2 Aug 2021 17:00:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y9uYWl1RJ5cG0hk5Oxn3P+ZDC5pP1UzwvV+5CitMBJB5LhKCUnYwzhZtUhel6CpKGUN7gdsPZQGAcBsF37YPbaJapWbame+vhwOzkvHikggx+4tFaXQymOz5x3WKrd+aJ+XpLD6NcKwDG81778Gt7TvGVZ3c7SqTDVEokB6Pz1Z8Cmw/uou4R8NXqmwjd+3e3AVZ9dPpimsE188X9r45IbApmNbcwSmI4a4VsAnuu1cWHqrvNtRzfu98d0oW1g8Owjlz+RYKzSuaOsKqf5IG++zCMWqQ9gbeATA2ZvTmJ2t16mbxn2AfrLO6dyxuIFMJhH4smP41AbkCY9JtDXwsiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dRoSj4gZ0RshS+ZqNLjUZn7BU9R0AxReIxDx9e9fUK8=; b=fSV7tRVINCRzdieqax60xBygwg4QteGOFxa2IWtp1jGN7e0zMkdJ+NRrWgRx+ktpVCrQ6Ac5Eq5Mle/u8aNyUlMIid7UssnbjMyAxVeASL5BHjvI7AFCpJbCHS64GqYFA/gyktLIVcZIXerp34+HKdVMltT6rXNhnr8Pw/mExI7CELxQp9ID6XKYhhSIUIoSdosz5kSS/FJXI7lnCOnAyhOXyBew2/9hd58nTt9GB4eQkS4qqyBHK4ItKOc89vhCKgPOoVoH0HKGLi439AVIQdGsFg2mvajZJ4aF1TEipuElS4jTQOwbReC9aighDWJyqP7GANT2ocWpeg2K2z/52Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dRoSj4gZ0RshS+ZqNLjUZn7BU9R0AxReIxDx9e9fUK8=; b=A4qtV9LIjFm6uuCvWEyVYpIkFIezWLKt3tkVtAoe/lnpyirg215i1TjaMbnhPncE/xkt0KMr3KRQ1OyWeILoFZyIm7a528zDLkkQOg3Gf2cmwebqn6M+7LxaI2K9/cQoKoWdRJGUwo1gvo2zluQT8UVgM9Lux9YQKrtltS25hFE= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=prevas.dk; Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) by AM0PR10MB3586.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:157::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Mon, 2 Aug 2021 15:00:37 +0000 Received: from AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb]) by AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM ([fe80::fc83:36a5:db02:3dbb%7]) with mapi id 15.20.4373.026; Mon, 2 Aug 2021 15:00:37 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 10/10] sandbox: add test of wdt-uclass' watchdog_reset() Date: Mon, 2 Aug 2021 17:00:16 +0200 Message-Id: <20210802150016.588750-11-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> References: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) To AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:3f::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (81.216.59.226) by HE1PR05CA0257.eurprd05.prod.outlook.com (2603:10a6:3:fb::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Mon, 2 Aug 2021 15:00:36 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 937119c5-e318-4618-637d-08d955c64938 X-MS-TrafficTypeDiagnostic: AM0PR10MB3586: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3631; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xkJci5n5GrJMg4IrMMv/jdsfWNt8pK3pxspeTeMmdmhcdg2IFHUMpneMH5Xd9cIcQX9Oo2q//8qO8CRYp43w3hiyHPwAED9HdCPbO68BK7taqqKd0zqgvA+nCxq0i7U04a8TYjJcq1LuZ7YcEeTA3jdzrQazO5Uh01NVbNSeMYLSuc80tnyQwtH3VZH/nWZ1Z90NiU1MaShaykCvj6N4qnSc9XVw1+tTn/e1FXD/4fT/e/XtdjAD6vkfbtz3E27apC7xb6wpnc68cXuIhKxWfjgGcDVKfo1I0Qfma8+VAsn+k87QY3PWLjyc+xZ0AlGqA6Aosj5inDlM5t1RYyp3xB6J3bcQa4bblvenN6iF4DlWciEpyBiOeP1dpYglXI9hpC/IPCvzcCqDxi/UWabsBExwvQ4GLmbTHCw9raIag+RNU1DSeG3pfTmMNMshCUZraG6fklnII1TTlWGL1RFviTNUaeBSBQ7ESPnlzRO/B/Qwinvt5FIOehFqwDLfwInFoTjZ/1QxpmeXyZQyJ8CstyIJZaBBXuI80Hx9zCJFugo0Fr6kdaZe/tbU1o0uttqTEpDSlTWBXyjCvIEk036+VpnLk2um/xjRtno4ZBKyyu9Y1CbKf/D2caK0GYogHKWjlZML3sHsE+VRsb4PQc20Ssf+YqJX4pxCyM4+7HcZGRRSVXmKcNnDX9f+a14N8ChwtJEJK9RymL+LnN8kzZeGMg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39830400003)(366004)(136003)(346002)(376002)(396003)(36756003)(1076003)(107886003)(478600001)(38350700002)(38100700002)(6486002)(6916009)(5660300002)(4326008)(66476007)(66556008)(44832011)(66946007)(6512007)(86362001)(6666004)(956004)(316002)(2906002)(54906003)(83380400001)(2616005)(8976002)(26005)(186003)(6506007)(8676002)(52116002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cVUDcg6ZelaBZRwGjgdTpSFRJGGrDHEQe55Ijo2e6WsrqaU44Z3LTxZpofQDe5GZR0uYO/lKWhIfk7DG1qVHU4W2stfkCObKs58M11wIi2H9+XHtHJkyeT4trWZ0951dwJQ/CJrHljPhCdDRdG3JAvWniXp4zGe9wQfOs8otnGFkk0XGDJ3iMPJM4vKdHINGFlb7Wq75yq9MRREX6zPPCbUfEp4JPdG4r6vY4n89LRSUSzJfz1chGFhsBNFqwfRik+iXJqJ+oLhlyieWT09UhQqA4optz/qi44WR0LajgljlrK4IYgiJSWluHXrikmlUYuKYolDLPTALp4hVSZ9GQ5QSzUox+ULh7SSMSwxT3Y3/VpdpS4V0TCDJWFRYTrq55Ip3JupRqEx8QwddXyWKxXwgAYY2IMT6hEpNoi1J1wzN0KvPuzk+nGJwFhzUkMJ+7BZNU7hKKzLbMhSpvhdIA26cpxI/gD1cXmRXiBmp4Ky8Tl4NcjjLxC6ZEoS2f/gwzxFEsBIbPr/5jWYtYDbKY7BSJrzvikFsxmyYPwQbNHXsaBEY6HI/ueqQMPXQxjg+uc/+Y+nEH0EC3rp2WF+kLu5fdY5mifXTUBj/xnGsGdKfx+IYCYJ6awfWJoc9tC1YqjyjlyTxhdgdEcv24rLBUl4BIQCfpfrsbOEBczpng1gWFYPO83BO8KsZ/2OS1su26HDNMkoo5BbVM/PgL/S+JSCWWig/2rN5NmKYeGEjKLYv/NWMNHcdP2aT36mIjlrbbyiOkF7oKZ1VJTQogZSL5zwJMrKuhNXYxc2gijCufoaIR8rlwfgjS+pV+EqTUIny0kRy4oRHUqeJA4RG0oOhQwTrF+qN30vx7nuudCC4PuCgvLuBBqHyULsQYt+5XfwBWCbCGZgniOuapn8LqJTvf8QBKHOiQct/wqr5xT0du7QtPf00vc7tPZNru7Ip5oGtd1FKZC0Ah1n6Grj27OJdgGREBQrI9FuKR2Yc/x4u87qTkpdbcnbMA77z5eyMKTRNvpkJnYeU3ry+GWwa/RTbGNxTnJiQ1BasreIvu6CeYkGn5ylkpBr1hlprkYgTmSUvgYqswsLOvFwXgE7YwDbp3jCxKOkYUzjSiACnQXnfePALmXJBdQm6jJ6t5ONF+g6g1UbPld+hu7/Qdk9JZYs1GhxpRbUl8fNaBYi4OozlrPlCxOlUPpg/dV6ma4bBs2UxlshaKwHdkNcVRiSiJqEODNWI61DZrXvXLUDTaRu+rkF0yaDnn5qNEWb/Qwyc7gIlTZRafyPHejjZP+gg0SdAwfPc+nmhjZ6KhKcT2X6eTioxQaktTfAwm2I0Wz/nINql X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 937119c5-e318-4618-637d-08d955c64938 X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB1874.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2021 15:00:37.1662 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NaDvuvorwmz6OdmHGt3ClILNUOEZSVspjMRdqUPxNOG/OJOro+mzN3yEXG8EQcW0RAvuSavFNtoVUEKdnUbRJepZmm3sdxCE0geKYHQqC20= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR10MB3586 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Check that the watchdog_reset() implementation in wdt-uclass behaves as expected: - resets all activated watchdog devices - leaves unactivated/stopped devices alone - that the rate-limiting works, with a per-device threshold Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Signed-off-by: Rasmus Villemoes --- arch/sandbox/dts/test.dts | 2 ++ test/dm/wdt.c | 54 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index fe5ac6ecd9..bafc2e9494 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -782,6 +782,7 @@ gpio-wdt { gpios = <&gpio_a 7 0>; compatible = "linux,wdt-gpio"; + hw_margin_ms = <100>; always-running; }; @@ -1264,6 +1265,7 @@ wdt0: wdt@0 { compatible = "sandbox,wdt"; + hw_margin_ms = <200>; }; axi: axi@0 { diff --git a/test/dm/wdt.c b/test/dm/wdt.c index abff853a02..ee615f0e14 100644 --- a/test/dm/wdt.c +++ b/test/dm/wdt.c @@ -12,6 +12,8 @@ #include #include #include +#include +#include /* Test that watchdog driver functions are called */ static int dm_test_wdt_base(struct unit_test_state *uts) @@ -73,3 +75,55 @@ static int dm_test_wdt_gpio(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_wdt_gpio, UT_TESTF_SCAN_FDT); + +static int dm_test_wdt_watchdog_reset(struct unit_test_state *uts) +{ + struct sandbox_state *state = state_get_current(); + struct udevice *gpio_wdt, *sandbox_wdt; + struct udevice *gpio; + const u64 timeout = 42; + const int offset = 7; + uint reset_count; + int val; + + ut_assertok(uclass_get_device_by_driver(UCLASS_WDT, + DM_DRIVER_GET(wdt_gpio), &gpio_wdt)); + ut_assertnonnull(gpio_wdt); + ut_assertok(uclass_get_device_by_driver(UCLASS_WDT, + DM_DRIVER_GET(wdt_sandbox), &sandbox_wdt)); + ut_assertnonnull(sandbox_wdt); + ut_assertok(uclass_get_device_by_name(UCLASS_GPIO, "base-gpios", &gpio)); + ut_assertnonnull(gpio); + + /* Neither device should be "started", so watchdog_reset() should be a no-op. */ + reset_count = state->wdt.reset_count; + val = sandbox_gpio_get_value(gpio, offset); + watchdog_reset(); + ut_asserteq(reset_count, state->wdt.reset_count); + ut_asserteq(val, sandbox_gpio_get_value(gpio, offset)); + + /* Start both devices. */ + ut_assertok(wdt_start(gpio_wdt, timeout, 0)); + ut_assertok(wdt_start(sandbox_wdt, timeout, 0)); + + /* Make sure both devices have just been pinged. */ + timer_test_add_offset(100); + watchdog_reset(); + reset_count = state->wdt.reset_count; + val = sandbox_gpio_get_value(gpio, offset); + + /* The gpio watchdog should be pinged, the sandbox one not. */ + timer_test_add_offset(30); + watchdog_reset(); + ut_asserteq(reset_count, state->wdt.reset_count); + ut_asserteq(!val, sandbox_gpio_get_value(gpio, offset)); + + /* After another ~30ms, both devices should get pinged. */ + timer_test_add_offset(30); + watchdog_reset(); + ut_asserteq(reset_count + 1, state->wdt.reset_count); + ut_asserteq(val, sandbox_gpio_get_value(gpio, offset)); + + return 0; +} +DM_TEST(dm_test_wdt_watchdog_reset, UT_TESTF_SCAN_FDT);