Received: by 2002:ac0:c50a:0:0:0:0:0 with SMTP id y10csp1375465imi; Fri, 1 Jul 2022 08:30:36 -0700 (PDT) X-Google-Smtp-Source: AGRyM1u4ln3dCiZjlborgZPfG5tIcQSCYpHINJG92uV1/P/g29oFhNxDe8Rknp7GNgPmxltEIjRW X-Received: by 2002:a05:6402:32a2:b0:435:8b5a:4081 with SMTP id f34-20020a05640232a200b004358b5a4081mr19907006eda.232.1656689435823; Fri, 01 Jul 2022 08:30:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656689435; cv=none; d=google.com; s=arc-20160816; b=jI78Hvz8DoZiFf13CNIy4gt46qisitJWb7aTIDt3M6UxovOPvjA8eiXSj5g0tyf0xW b3PaFx9s3yrNM9EKxsseysGdg+epsUrehhAcSp/nW7SEGSL40XPbmhed9u0xzGCSWRC+ hkU2Nz63vmEtSLme5liUrb0sShpJYF3FJcHLOwEBe5HNvh68o3f0snq4gOGG+Jt1FZgC Mi9te/9S6HvMlo7IHAQJEoKHcGkAgCW7n+MisSw9M2UOiLfHvZ7Jos4A0thYY6pZBc8A R1qtvPZX1wjuDGfwBoKR40iQTnZOvuESG48HOstIb/uPA5yE8yEmS8e5fMLyIohBqURF VrTw== 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; bh=4NzrRU40kk9GM/w7qWtWxf3yGOpKBtPurMv5mBKyv4Y=; b=AJj5V0tEoc4utSctdLqnlWK6/GdrLBnVDxKxwsI0WdehX0+pTxoMLqgC/D/1zR7X4p RXOpUMH6I99EWlcq9Y2ImjwpJIapjhcxupxYXATiriedANEqEN/TvKt9edx0+2EvE6VB 79Tb+/NGodAFXM+d3DnxTCkxrMMOavwDXTMEWqIj+8gySD7JAt/N8DFCW8eLmQmJ/Xk/ +v0IR99/DeqZhZJzVYgsZHFUCL2nd1DOS6qkJCvm9mLSEMXBu1x4vgAzsUQshfEEWxDB PiTj3QPkdTEFY5j2vrQ8vlAI3Rua9LecTEzLWzw4+yNLK3ZvqgRIBh++YgA62hbwe5E9 5WNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id go17-20020a1709070d9100b00711d83340bbsi19847740ejc.728.2022.07.01.08.30.09; Fri, 01 Jul 2022 08:30:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230029AbiGAPVQ (ORCPT + 99 others); Fri, 1 Jul 2022 11:21:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51074 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229436AbiGAPVQ (ORCPT ); Fri, 1 Jul 2022 11:21:16 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4B269DE88 for ; Fri, 1 Jul 2022 08:21:15 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 503D3113E; Fri, 1 Jul 2022 08:21:15 -0700 (PDT) Received: from e120937-lin (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 463EC3F66F; Fri, 1 Jul 2022 08:21:13 -0700 (PDT) Date: Fri, 1 Jul 2022 16:21:11 +0100 From: Cristian Marussi To: Sudeep Holla Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, james.quinlan@broadcom.com, Jonathan.Cameron@huawei.com, f.fainelli@gmail.com, etienne.carriere@linaro.org, vincent.guittot@linaro.org, daniel.lezcano@linaro.org, tarek.el-sherbiny@arm.com, adrian.slatineanu@arm.com, souvik.chakravarty@arm.com, wleavitt@marvell.com, wbartczak@marvell.com Subject: Re: [PATCH v3 8/9] firmware: arm_scmi: Add scmi_driver optional setup/teardown callbacks Message-ID: References: <20220627123038.1427067-1-cristian.marussi@arm.com> <20220627123038.1427067-9-cristian.marussi@arm.com> <20220701140946.uar5ohadyjksf2ka@bogus> <20220701151829.j2blytsgma5so6ox@bogus> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220701151829.j2blytsgma5so6ox@bogus> X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 01, 2022 at 04:18:29PM +0100, Sudeep Holla wrote: > On Fri, Jul 01, 2022 at 04:09:05PM +0100, Cristian Marussi wrote: > > On Fri, Jul 01, 2022 at 03:09:46PM +0100, Sudeep Holla wrote: > > > On Mon, Jun 27, 2022 at 01:30:37PM +0100, Cristian Marussi wrote: > > > > Add optional .setup and .teardown methods to the scmi_driver descriptor: > > > > such callbacks, if provided, will be called by the SCIM core at driver > > > > registration time, so that, an SCMI driver, registered as usual with the > > > > module_scmi_driver() helper macro, can provide custom callbacks to be > > > > run once for all at module load/unload time to perform specific setup > > > > or teardown operations before/after .probe and .remove steps. > > > > > > > > > > What can't the driver call this setup/teardown on its own before/after > > > calling scmi_driver_register/unregister ? > > > > > > > > Based on the usage in 9/9, I guess it is mainly to use the > > > module_scmi_driver ? If so, I would avoid using that or have another > > > macro to manage this setup/teardown(once there are multiple users for that). > > > IMO, it doesn't make sense to add callbacks to do things that are outside > > > the scope of scmi drivers. No ? > > > > > > > This is exactly what I was doing in fact :D at first ... defining a normal > > init/exit from where I called what I needed at first and then ivoke the > > scmi_driver_register()...so bypassing/not using the module_scmi-driver macro > > indeed...then I realized I needed something similar also for the SCMI Test > > driver, so I tried to unify; in both cases indeed the required ops to be > > done before the scmi_driver_register are NOT scmi related things. > > > > So I can drop this if you prefer and use bare module_init/exit that > > calls scmi_driver_register() after having setup what needed for the > > specific driver initialization (before probe)...I was not really > > convinced it was worth this level of unification. > > > > We can add macro for that too if there is another user for this. i.e. > if and when we merge the test code using something similar, we can > wrap them in a macro module_scmi_driver_setup_teardown(driver, setup, teardown) > and simplify things for the users. > Ok, thanks I'll drop this for this series. Thanks, Cristian