Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp4460579rdh; Wed, 29 Nov 2023 02:03:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IG7qV+AGgAcbUWoJvm5q9rCcMLhX9aB18K1k739u+QBNML4qu7FgKllZ6Nc4yucoLKAMzVR X-Received: by 2002:a05:6a00:3988:b0:6be:25c5:4f74 with SMTP id fi8-20020a056a00398800b006be25c54f74mr21722515pfb.13.1701252199800; Wed, 29 Nov 2023 02:03:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701252199; cv=none; d=google.com; s=arc-20160816; b=bteUmHqbqyfkVbpCotXUNSgYH6jjFfVSkrKXP5fM6q7IbyrkdlrwUpsj/Rhz4vQsnn fwa9iKQ5YJsKfcgGRAUo1PWEgeCMplr6Yx8BwIw3LfW3N2NVrs+Dpq0/iHdsD/7N8o54 BcUIWBOizwrWGX8U2uqQe2pElpf1jORIUY9kDimdmbi3q0MvG6nQYds8EGSCWwnVI+0G EBSwSS7RZ4iDztHhbKdC5P5RjgQglh1HkvltFusG/6e75T5lLFopqoSBK4aG7i0dtFDa 8X2EJgDLVQA9Y7p8B9+SWXlj12O1k4O7XH94IMLnBf/nxR3s79TrkvHlVIq9UhrScRfs b/0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=0NkQ2/KZticKUcAethtV75Vrkh/D13iFQcdW3PKfqEo=; fh=cDOU83KxtfLhixwiiitR0hvv8Y4HRd1t34KdPk8FqWs=; b=YBsVNQhaBxacKZAxTh6bVaH4TKj5jZVnfNYZR2/ij7GFELf2mCGZWlFY53qZ+4stg9 yYo9JJO/fAYNNFJi738mprtpAjKdgoTgQJvB3Wnlp/KjYQh/9DOt77dWgFJdLNGaBx1k jt7dyxhAGO12ZHnQpN1iF/KNMADTwmEUPbbjAZ8jfDEHRsYdaDqhc15BJsA6ayULwFoN EZsFlcJ8+Fg514cs4f3zgJwkqldkdg4mVKkrXEv4rH6iIoUPx8t9SweYDwuicG2lhgaS XNeGYkLlkWevZjMZ11eKB8WsB4IzU7BO2CMcMYqiHcgIumA7ijNAlTBCMtfOyeEzGjF7 rzbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=PgI0UJEy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id b17-20020a630c11000000b005add209e106si13871568pgl.442.2023.11.29.02.03.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 02:03:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=PgI0UJEy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 50900803BA90; Wed, 29 Nov 2023 02:03:17 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229705AbjK2KDC (ORCPT + 99 others); Wed, 29 Nov 2023 05:03:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51086 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229488AbjK2KDA (ORCPT ); Wed, 29 Nov 2023 05:03:00 -0500 Received: from mail-vs1-xe35.google.com (mail-vs1-xe35.google.com [IPv6:2607:f8b0:4864:20::e35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA808D6C; Wed, 29 Nov 2023 02:03:06 -0800 (PST) Received: by mail-vs1-xe35.google.com with SMTP id ada2fe7eead31-4644b1b7257so120436137.2; Wed, 29 Nov 2023 02:03:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701252186; x=1701856986; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=0NkQ2/KZticKUcAethtV75Vrkh/D13iFQcdW3PKfqEo=; b=PgI0UJEyNCzhpHZSNMionxkfw+w6W5zJ8pbxPRelwPrNavQBE0BdLUz0m0tiByLHEg OjyC34zp14jGLqZ3X60csaoUSXAnVuOpFNbBWIfkaA5N/RswwTkraXbS/rHuVKggNrkf jxo5qlHPR05vfen/qCnfqHwIY+WzjA1GmNSwd5peS4D17kAbUNcPM/2xgFZKcrm3am6c fi1IQ0Xp95qbnOwHhZ2RxsNdEV5DyImMyQqi2j310653Fqi3wXwVHPvMp8uR8o0Wtfra 9CYGTFtoXwzFqiZDRQNfeo5Hk6u8RRSdK4si48TpiTVcWt1cj7tGRoLSqgH9pEMZeW6P Xybg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701252186; x=1701856986; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0NkQ2/KZticKUcAethtV75Vrkh/D13iFQcdW3PKfqEo=; b=WK2zg7Wp9UCo3sk4L3EO8b1+xPX8YC2a5//KL+w2Ownj8t7Sdf34A+/1g3uD3RIQS+ iM8Gb8ozOKQYyqPf17eECE6IYFSk3K6gkKUcMMVcr9W+EMlqo24rpnndqeA8h0MjdTgZ Vc0u7N4KEiiWVapYeNayW+mrHYOJhDsoLTqKcSDSE/MDEhV8T4A0aRxNab5wdkGOTFHE TMRqijz0AzQDSd4HjLn72z97nxO18CGDwOyOXXCc/bSUg6FqKviTG8G8rk8qqLFbwgyI 6URTyAsfDsKykwRwyjR/Szb2C/PGB2zotZFyN+274mNuDJN24WRDxi3gQpE2o1aI2keb Nmxw== X-Gm-Message-State: AOJu0YwUs4qQZt5fwysvmYH7SoiP+141B9uXGWEt0p1NdAStmZBLZEUo kRUylygF+kEGdTq9MFmjQ38= X-Received: by 2002:a05:6102:4423:b0:464:4a3f:dc43 with SMTP id df35-20020a056102442300b004644a3fdc43mr980739vsb.24.1701252185458; Wed, 29 Nov 2023 02:03:05 -0800 (PST) Received: from errol.ini.cmu.edu ([72.95.245.133]) by smtp.gmail.com with ESMTPSA id n1-20020a0ce941000000b0067a2b91f969sm4052028qvo.117.2023.11.29.02.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 02:03:05 -0800 (PST) Date: Wed, 29 Nov 2023 05:03:03 -0500 From: "Gabriel L. Somlo" To: Andrew Davis Cc: Mark Rutland , Lorenzo Pieralisi , Sebastian Reichel , Karol Gugala , Mateusz Holenko , Joel Stanley , Mark Brown , Orson Zhai , Baolin Wang , Chunyan Zhang , Lee Jones , Dmitry Osipenko , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-spi@vger.kernel.org Subject: Re: [PATCH RFC 2/5] drivers/soc/litex: Use devm_register_restart_handler() Message-ID: References: <20231117161006.87734-1-afd@ti.com> <20231117161006.87734-3-afd@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231117161006.87734-3-afd@ti.com> X-Clacks-Overhead: GNU Terry Pratchett X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 29 Nov 2023 02:03:17 -0800 (PST) On Fri, Nov 17, 2023 at 10:10:03AM -0600, Andrew Davis wrote: > Use device life-cycle managed register function to simplify probe error > path and eliminate need for explicit remove function. > > Signed-off-by: Andrew Davis Reviewed-by: Gabriel Somlo Thanks much, --Gabriel > --- > drivers/soc/litex/litex_soc_ctrl.c | 23 +++++------------------ > 1 file changed, 5 insertions(+), 18 deletions(-) > > diff --git a/drivers/soc/litex/litex_soc_ctrl.c b/drivers/soc/litex/litex_soc_ctrl.c > index 10813299aa106..7a0096d93c73d 100644 > --- a/drivers/soc/litex/litex_soc_ctrl.c > +++ b/drivers/soc/litex/litex_soc_ctrl.c > @@ -69,14 +69,11 @@ static int litex_check_csr_access(void __iomem *reg_addr) > > struct litex_soc_ctrl_device { > void __iomem *base; > - struct notifier_block reset_nb; > }; > > -static int litex_reset_handler(struct notifier_block *this, unsigned long mode, > - void *cmd) > +static int litex_reset_handler(struct sys_off_data *data) > { > - struct litex_soc_ctrl_device *soc_ctrl_dev = > - container_of(this, struct litex_soc_ctrl_device, reset_nb); > + struct litex_soc_ctrl_device *soc_ctrl_dev = data->cb_data; > > litex_write32(soc_ctrl_dev->base + RESET_REG_OFF, RESET_REG_VALUE); > return NOTIFY_DONE; > @@ -107,11 +104,9 @@ static int litex_soc_ctrl_probe(struct platform_device *pdev) > if (error) > return error; > > - platform_set_drvdata(pdev, soc_ctrl_dev); > - > - soc_ctrl_dev->reset_nb.notifier_call = litex_reset_handler; > - soc_ctrl_dev->reset_nb.priority = 128; > - error = register_restart_handler(&soc_ctrl_dev->reset_nb); > + error = devm_register_restart_handler(&pdev->dev, > + litex_reset_handler, > + soc_ctrl_dev); > if (error) { > dev_warn(&pdev->dev, "cannot register restart handler: %d\n", > error); > @@ -120,20 +115,12 @@ static int litex_soc_ctrl_probe(struct platform_device *pdev) > return 0; > } > > -static void litex_soc_ctrl_remove(struct platform_device *pdev) > -{ > - struct litex_soc_ctrl_device *soc_ctrl_dev = platform_get_drvdata(pdev); > - > - unregister_restart_handler(&soc_ctrl_dev->reset_nb); > -} > - > static struct platform_driver litex_soc_ctrl_driver = { > .driver = { > .name = "litex-soc-controller", > .of_match_table = of_match_ptr(litex_soc_ctrl_of_match) > }, > .probe = litex_soc_ctrl_probe, > - .remove_new = litex_soc_ctrl_remove, > }; > > module_platform_driver(litex_soc_ctrl_driver); > -- > 2.39.2 >