From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2BE1EC11F66 for ; Sat, 10 Jul 2021 23:50:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 13C02613EC for ; Sat, 10 Jul 2021 23:50:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232338AbhGJXwo (ORCPT ); Sat, 10 Jul 2021 19:52:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:39598 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232042AbhGJXw3 (ORCPT ); Sat, 10 Jul 2021 19:52:29 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2A997610CA; Sat, 10 Jul 2021 23:49:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1625960984; bh=szqNDRpSbTtzUOoilzlCi13S2opHe+4em96fXDSRtdg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ILdPD6MDi1wGU80x3l+1Lkl1L9xOulFWWnAIIIEvBn7lsoFw0Gt0joSvopH1qxkBs 7pF0pLjaMClhEiGZ4Rna5jO+xoyso7M/fjL48N/liRU1wSJ20dGOL7dd0utCniY0zN JjW92ZsAUcrUWiTgMRGUg/Lvn7ZEXTSjnX/rv9TRtn+ap5Ss/M3g82prpJQoib44TN 7hvtWtrF2z0JdnJw+/kaIRXKVtSkOiPIeZ5NXxoHRRqZttVYG8rT8aM8p6GjN6zuLq pltFLM48Qntga3qArM3VOpjGJ5AGOrLkGGj8xpw+ca0Zuq155QWz84Ht8TXj2fiXTp +zvrxIUkrKlPA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Stefan Eichenberger , Guenter Roeck , Dong Aisheng , Wim Van Sebroeck , Sasha Levin , linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH AUTOSEL 5.12 18/43] watchdog: imx_sc_wdt: fix pretimeout Date: Sat, 10 Jul 2021 19:48:50 -0400 Message-Id: <20210710234915.3220342-18-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210710234915.3220342-1-sashal@kernel.org> References: <20210710234915.3220342-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Stefan Eichenberger [ Upstream commit 854478a381078ee86ae2a7908a934b1ded399130 ] If the WDIOF_PRETIMEOUT flag is not set when registering the device the driver will not show the sysfs entries or register the default governor. By moving the registering after the decision whether pretimeout is supported this gets fixed. Signed-off-by: Stefan Eichenberger Reviewed-by: Guenter Roeck Reviewed-by: Dong Aisheng Link: https://lore.kernel.org/r/20210519080311.142928-1-eichest@gmail.com Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck Signed-off-by: Sasha Levin --- drivers/watchdog/imx_sc_wdt.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/watchdog/imx_sc_wdt.c b/drivers/watchdog/imx_sc_wdt.c index e9ee22a7cb45..8ac021748d16 100644 --- a/drivers/watchdog/imx_sc_wdt.c +++ b/drivers/watchdog/imx_sc_wdt.c @@ -183,16 +183,12 @@ static int imx_sc_wdt_probe(struct platform_device *pdev) watchdog_stop_on_reboot(wdog); watchdog_stop_on_unregister(wdog); - ret = devm_watchdog_register_device(dev, wdog); - if (ret) - return ret; - ret = imx_scu_irq_group_enable(SC_IRQ_GROUP_WDOG, SC_IRQ_WDOG, true); if (ret) { dev_warn(dev, "Enable irq failed, pretimeout NOT supported\n"); - return 0; + goto register_device; } imx_sc_wdd->wdt_notifier.notifier_call = imx_sc_wdt_notify; @@ -203,7 +199,7 @@ static int imx_sc_wdt_probe(struct platform_device *pdev) false); dev_warn(dev, "Register irq notifier failed, pretimeout NOT supported\n"); - return 0; + goto register_device; } ret = devm_add_action_or_reset(dev, imx_sc_wdt_action, @@ -213,7 +209,8 @@ static int imx_sc_wdt_probe(struct platform_device *pdev) else dev_warn(dev, "Add action failed, pretimeout NOT supported\n"); - return 0; +register_device: + return devm_watchdog_register_device(dev, wdog); } static int __maybe_unused imx_sc_wdt_suspend(struct device *dev) -- 2.30.2