From patchwork Mon Aug 2 15:00:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1512469 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=dgAsg0jt; 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) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Gdh5T0sR3z9s5R for ; Tue, 3 Aug 2021 01:00:45 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2728282C40; 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=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="dgAsg0jt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E8DE683406; Mon, 2 Aug 2021 17:00:34 +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 570FB82B45 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=VrgGpO2G+Ru2Kx0IUtmxtM+bv15DLZ0dnDc+zaPPUN7+RlETafyedv83qaxzg7KxfGQ+zXWcUKEDa9dCpRA9fdBfxDfSawFeP+WE3pG52WQoKquGAr6TH+GTQRVgdMGhMWW9sBkpWbXu1uW1MdYRnnJ//oqz2m9wXB0LTcr+XXyh8ICoAaO8Zz89yhP6fZeV7p0AmaZuh4jFSRbhiadXt5KcrEhy2ZqUm9P/IpEqRVuwk4kGoDg1naozzOQqwacqqjv9GVllo3SElHogwDzSWqG6DVL5TURBiwWFHVs3m5YDDGCNcx8MhZTFuKjpkegk0k+G6c45yufC06uCvAB/sQ== 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=UnBLdPnazInJ2VY9HZFHqza5OtnynqpSMJG75618Q/M=; b=jdAggCUDIQAiGUPHGC1EutMWIKo+78fk0I4uk6zBZ7o5vANdu/uOQB5QUsxpDaFkeqSe6ior3ABA08soWQr5TCv4cAxQVrczyaNxDFnnSOObolD48haFB1gUrk84EetO+paH7++l8iV1tqxKjy8FuDxyv0L7jhWcwh0vsGPMm8hwUirAG9xvgDAOb1sBFjenlekd7/G1vk3qy8nHSZz8v4ZwLzYO38zkPL9x0zM0kpd25uZ0RNxiJoPy8cejQLKA92H/ima82Nrlic8L90bAYId9w9SMcrESJm46F58Ni5KrD8WFEHmYosbHYGroXqHciDldXJuKiUaOFfMsUz/OYQ== 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=UnBLdPnazInJ2VY9HZFHqza5OtnynqpSMJG75618Q/M=; b=dgAsg0jtPnPHTW1/jmHZW20Qf6CGJaJReID/a6FalGZWUDlzcpl4ziDgMAOMOsBWXnbJT2zWLfSKIODvz6XC7onPGifVyBlJF6i9whvl31xWQfXohFAQcgONQUWyMDbz0fCJiCiiTYk6uxEcIrwJz3CSDuk0vesNGSs8DZ9bSg4= 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:27 +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:27 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Simon Glass , Stefan Roese , Tom Rini , Rasmus Villemoes Subject: [PATCH v4 00/10] handling all DM watchdogs in watchdog_reset() Date: Mon, 2 Aug 2021 17:00:06 +0200 Message-Id: <20210802150016.588750-1-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.31.1 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:27 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 67e52109-b8cf-41a4-480f-08d955c643ae X-MS-TrafficTypeDiagnostic: AM0PR10MB3217: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yv4ELnyzAND0fIq72qarVPF+R+Voex3mpbP3aNqvkA/64qeyYuAnl3VQc3xmqOZfCEllc1bl7Li9IWWoOb03CDgZhXqAyMANABw2f13Fcv9e1QLRx4zg9c5vRrQfLmZKfAekPptU1EaczElUMt5KUhJd1zpUjortARzafo+2D6YV9bF/GCiu+g/kAUzA/PZtWhjwsHkz3itht3DWs/4vtdxTL/L7WA8RFcdntFF7GIfy8d4aYbW5jgaGiiOyHT4No2PU+bUJkdDvhvSL5RKJ90L4mFAm3awWKAZZ6deDjm2SllebGl7jVDAWOpcL+VZtRdHe+rrOtQ2ss/MA54bSyYk7+/WD37H91a2ON3cll5itxzYCpLNtyzBBO00mjxwCqmU7Z1lTrHDWPBtpCCyPl9Hr0U+IjN9jq/P5EZg7MGqOh6IY7EwBgM7FtAoQIoj+BguX7wlstgWaId81aTLKTXaEzw8KUCht+J+vQMnzger1lxfO6UxmPcjllkltC32uvFqWgBr6EDlNfDDidpC9w5CoUoRx/PAQ5EoMUzW9McJgwRGwuNrbiNtNI2R7gPZluaa5G7y33GK1+mlAE/HpRxUmhCKRdUX10wMNVrMpBJJN3zEHxueTzw8jjCDnAEzWRH7cLC06XXyCn3a1gjaVQxEcD3omg8g/azBOLGDi1GJwkGLwdbJUSIU7KZ9zVLvqB//y055LtpLFlZ1hATvXHdB67l8nII6MaYKcFmnulWRXtG4hjxYRO9t1BVrJBg9S3jokuY/g0qRgoFSqu4x8vNgbRMj1gbqf/10z+y0s+5s= 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)(966005)(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: 2wJhj4k0hf9dHrjhKyufEdip7e8yfm2MHMEWv1nFI2salQzMSb6ibs3FLwsNakCfKa9Gwnzcmicf2xMs10uvT1P1rhLVOGEYpQv/Iw5SbL9RigspxDnl2dPDIBiXEWV9kkPANzl1j0JfG7JUnjFvgRZP5I3vqg3wZKFw1/RX4Hj/Pog74WDNNRF/3AstrRoR8yoKXdMSlTXT82a0+oTwOYo5Pt/Z0uzf/QjDDxeRkco1lVufZn/pSwBDVkptaKYlqnNdw42AmXb0uOz+IWBArBJVjKH/YnscqM946SutB6CzezyEiXkEsW3MUoo7csQZ+c+krax4nEmmk20RcEiL332h3lLDQ941WYQa5zB90lI6AvBU0LCRz2+5i2XyOlT0OMQP0qgdRlHWXi/5c8bcox95QASd3D4uceD+cgddFiW4kqHANRFmTWLHPYRgOvhqJIbL4pyI3ySDzp/fn35My+ZAXzeDge+vclFoDsY5DGhxO7ZZFqHkj61c7c30RegicG8Q8txN5hTUBI/xMo+WDRva35ucwuVPEQOSqA3/+AXE9Furd8nRQ+6Nm2BoFsdlb1EQSqzNHw7laPA7FKzWr/BMA/v1X+rsvGNFKXolstXq5sg/hYR5JCg0n+Wnn1dli+TDDQVPVmFc9+g3LBbFIcI/H8ebLxrKMYhEfKm5MkKYXz7lAjooP6HHiwQbvdelSyA6/OagCo6aqDBOZwdk8MkWqZPDswF5ZZF1tRCmkyJMiYLuWcRu8uEW+0FP9axFummfmPnlIkQyGqxs5afqU/ycKuzGafoxwV/TODnDwp7AS8e5HEXPF4vYf0EPYQ0oyAGxuivalyflsTjJEzLQuOIyHbaz9nBCyPmGFpWhGdo5XBQ4hO4u6krBgi+eg/jI3+cRdrG3XLPFZaUtXUBc67acqx5zflz+ttxNJdryS2Bp2wXQfCMwHXOneUoNVXha77F3BSYgOxWHFtfZhnbNxekdX3cP8VbsILnQs/TZ3vpMwkKy63Xw/xQpWtLg7Na3nmiCed27+pVBNR5yOCHfn4QkqCdZD9PXcIFN1gnhT3i04s8CBbKbNj4QEQLdL1o0leNB2MgGQecHF+HtV8G2zi4ORivNumTS7LTIuaHOewjJAss7dF1obxhTNTg9B9LVpGt3ghdGEGaQZmLnsTZJdRHwDgnu8L7Zf27kMF0R066YW/E9wMP4rtfOaAeNvKAAMV4q7YhIv7a/07aqiZfzBKEYcGHfGk7XrsXhkRMxapDS/8kPHCl2nIEfc6P7JRABt8GRfwBJ0CIvLR1nCpT2kFIB52UlGdgivI2eA+7YaauufiHcZFoaw4VI/lroYUwM X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 67e52109-b8cf-41a4-480f-08d955c643ae 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:27.7996 (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: qhbvgxKNIGLKfedikC/WJAbcyJLuketuwFPo2qH04nL5r3BLJWaQLw1D6Oe2nwUZLUVBilCBRUXWAJIi7+4KEby02CiL7dnbB8W4LvqVhQI= 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 This series is an attempt at expanding the wdt-uclass provided watchdog_reset() to handle all DM watchdogs, not just the first one. Some of the ad hoc work done for the first DM watchdog in initr_watchdog() is now moved to a .pre_probe hook so it is automatically done for all devices. It also includes a patch adding a driver for a gpio-petted watchdog device (and a sandbox test of that) - it is included here because that also gives a relatively easy way to have more than one (kind of) watchdog device in the sandbox, which is then used at the end to test that watchdog_reset() behaves as expected. v2 here: https://lore.kernel.org/u-boot/20210527220017.1266765-1-rasmus.villemoes@prevas.dk/ v3 here: https://lore.kernel.org/u-boot/20210702124510.124401-1-rasmus.villemoes@prevas.dk/ Changes in v4: - Do not make init_watchdog_dev() into a .post_probe hook, but call it from within the probing loop in initr_watchdog(). Rasmus Villemoes (10): watchdog: wdt-uclass.c: use wdt_start() in wdt_expire_now() watchdog: wdt-uclass.c: introduce struct wdt_priv watchdog: wdt-uclass.c: neaten UCLASS_DRIVER definition watchdog: wdt-uclass.c: refactor initr_watchdog() watchdog: wdt-uclass.c: keep track of each device's running state sandbox: disable CONFIG_WATCHDOG_AUTOSTART watchdog: wdt-uclass.c: handle all DM watchdogs in watchdog_reset() watchdog: add gpio watchdog driver sandbox: add test of wdt_gpio driver sandbox: add test of wdt-uclass' watchdog_reset() arch/sandbox/dts/test.dts | 8 + configs/sandbox64_defconfig | 2 + configs/sandbox_defconfig | 2 + .../watchdog/gpio-wdt.txt | 19 ++ drivers/watchdog/Kconfig | 9 + drivers/watchdog/Makefile | 1 + drivers/watchdog/gpio_wdt.c | 68 +++++++ drivers/watchdog/wdt-uclass.c | 167 ++++++++++++------ include/asm-generic/global_data.h | 6 - test/dm/wdt.c | 90 +++++++++- 10 files changed, 314 insertions(+), 58 deletions(-) create mode 100644 doc/device-tree-bindings/watchdog/gpio-wdt.txt create mode 100644 drivers/watchdog/gpio_wdt.c