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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9F794FA373D for ; Fri, 28 Oct 2022 00:56:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:CC:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sQt9AHB9D8azqtEd9GGLxG3pALyX/ZiGCu+SgZPd1+E=; b=vvB3bl3sE407Ns fZN2MDlredwt0IQPfdR4dH+NpDMzr+o6CriWHjaN0eGOZi7LYScNRUf2a02gWXMXiVfUiibUkM+0Z d3NlOpGZbnAWv7Yj3cW+kNBiYce3pJfNlD1P14hBLsd1Cz0FBD4ZUKuYEKDQwN/KX9OMTd6jXyk95 wkSIP6wCCfnu0CEvu24oHwjV0OPwhwGFIjsPetTBTK8Vueu9T1DMubIg+OuUCG4MH/qGvWW+WuCy9 ut3tYAzg+ME+Chmev3ptqYHYA53MduNzcYYBqoKuNiZn/LxSEGjK2PKwQjBu93RL5e4TkqANRNpPy Ep+2P3Qd1bFyjfEh3YRA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ooDev-00FLJd-PA; Fri, 28 Oct 2022 00:55:41 +0000 Received: from lelv0142.ext.ti.com ([198.47.23.249]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ooDer-00FLIs-I1 for linux-arm-kernel@lists.infradead.org; Fri, 28 Oct 2022 00:55:40 +0000 Received: from lelv0266.itg.ti.com ([10.180.67.225]) by lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id 29S0tMIk116047; Thu, 27 Oct 2022 19:55:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1666918522; bh=g81pUGPaxhe8PayHAZIcC2NhKRnMLJAiyPcRPYrPo5c=; h=Date:From:To:CC:Subject:References:In-Reply-To; b=lN71K2qFYBzLJ/pJDqGhZUh+K0r9D7DB7HiXVm7cQfU8dizPcRVT+WofnvxPneuAL k6ffdc7iiQFz8/rNVN5FFGPfxSWvHfsORif4s3NQCjig7CODo7EbsoX8m40ikmqnss qa/mhamgXPTXkiW08oYujkt7CgqYVj5qqVVm6gUg= Received: from DLEE109.ent.ti.com (dlee109.ent.ti.com [157.170.170.41]) by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 29S0tMjs004209 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 27 Oct 2022 19:55:22 -0500 Received: from DLEE104.ent.ti.com (157.170.170.34) by DLEE109.ent.ti.com (157.170.170.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6; Thu, 27 Oct 2022 19:55:21 -0500 Received: from fllv0039.itg.ti.com (10.64.41.19) by DLEE104.ent.ti.com (157.170.170.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6 via Frontend Transport; Thu, 27 Oct 2022 19:55:21 -0500 Received: from localhost (ileaxei01-snat.itg.ti.com [10.180.69.5]) by fllv0039.itg.ti.com (8.15.2/8.15.2) with ESMTP id 29S0tLPl039665; Thu, 27 Oct 2022 19:55:21 -0500 Date: Thu, 27 Oct 2022 19:55:21 -0500 From: Nishanth Menon To: Peter Ujfalusi CC: , , , , , Subject: Re: [PATCH] soc: ti: k3-ringacc: Allow the driver to be built as module Message-ID: <20221028005521.gzdo46oz65cxlthd@recent> References: <20221021080231.1076-1-peter.ujfalusi@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20221021080231.1076-1-peter.ujfalusi@gmail.com> User-Agent: NeoMutt/20171215 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221027_175537_778683_D9DAFA84 X-CRM114-Status: GOOD ( 26.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 11:02-20221021, Peter Ujfalusi wrote: > The ring accelerator driver can be built as module since all depending > functions are exported. > > Signed-off-by: Peter Ujfalusi > --- > drivers/soc/ti/Kconfig | 2 +- > drivers/soc/ti/k3-ringacc.c | 29 ++++++++++++++++++++++++++--- > 2 files changed, 27 insertions(+), 4 deletions(-) > > diff --git a/drivers/soc/ti/Kconfig b/drivers/soc/ti/Kconfig > index 7e2fb1c16af1..e009d9589af4 100644 > --- a/drivers/soc/ti/Kconfig > +++ b/drivers/soc/ti/Kconfig > @@ -63,7 +63,7 @@ config TI_SCI_PM_DOMAINS > rootfs may be available. > > config TI_K3_RINGACC > - bool "K3 Ring accelerator Sub System" > + tristate "K3 Ring accelerator Sub System" > depends on ARCH_K3 || COMPILE_TEST > depends on TI_SCI_INTA_IRQCHIP > help > diff --git a/drivers/soc/ti/k3-ringacc.c b/drivers/soc/ti/k3-ringacc.c > index f7bf18b8229a..e011412f2975 100644 > --- a/drivers/soc/ti/k3-ringacc.c > +++ b/drivers/soc/ti/k3-ringacc.c > @@ -7,7 +7,7 @@ > > #include > #include > -#include > +#include > #include > #include > #include > @@ -336,6 +336,11 @@ struct k3_ring *k3_ringacc_request_ring(struct k3_ringacc *ringacc, > > mutex_lock(&ringacc->req_lock); > > + if (!try_module_get(ringacc->dev->driver->owner)) { Does a cascaded error handling make sense instead? goto error_mod_fail? > + mutex_unlock(&ringacc->req_lock); > + return NULL; > + } > + > if (id == K3_RINGACC_RING_ID_ANY) { > /* Request for any general purpose ring */ > struct ti_sci_resource_desc *gp_rings = > @@ -380,6 +385,7 @@ struct k3_ring *k3_ringacc_request_ring(struct k3_ringacc *ringacc, > return &ringacc->rings[id]; > > error: > + module_put(ringacc->dev->driver->owner); error_mod_fail: > mutex_unlock(&ringacc->req_lock); > return NULL; > } > @@ -616,6 +622,8 @@ int k3_ringacc_ring_free(struct k3_ring *ring) > no_init: > clear_bit(ring->ring_id, ringacc->rings_inuse); > > + module_put(ringacc->dev->driver->owner); > + > out: > mutex_unlock(&ringacc->req_lock); > return 0; > @@ -1450,6 +1458,7 @@ static const struct of_device_id k3_ringacc_of_match[] = { > { .compatible = "ti,am654-navss-ringacc", .data = &k3_ringacc_data, }, > {}, > }; > +MODULE_DEVICE_TABLE(of, k3_ringacc_of_match); > > struct k3_ringacc *k3_ringacc_dmarings_init(struct platform_device *pdev, > struct k3_ringacc_init_data *data) > @@ -1544,12 +1553,26 @@ static int k3_ringacc_probe(struct platform_device *pdev) > return 0; > } > > +static int k3_ringacc_remove(struct platform_device *pdev) > +{ > + struct k3_ringacc *ringacc = dev_get_drvdata(&pdev->dev); > + > + mutex_lock(&k3_ringacc_list_lock); > + list_del(&ringacc->list); > + mutex_unlock(&k3_ringacc_list_lock); > + return 0; > +} > + > static struct platform_driver k3_ringacc_driver = { > .probe = k3_ringacc_probe, > + .remove = k3_ringacc_remove, > .driver = { > .name = "k3-ringacc", > .of_match_table = k3_ringacc_of_match, > - .suppress_bind_attrs = true, Might be good to note sysfs behavior change in commit log? > }, > }; > -builtin_platform_driver(k3_ringacc_driver); > +module_platform_driver(k3_ringacc_driver); > + > +MODULE_LICENSE("GPL v2"); GPL ? checkpatch should have complained? > +MODULE_DESCRIPTION("TI Ringacc driver for K3 SOCs"); > +MODULE_AUTHOR("Grygorii Strashko "); > -- > 2.38.1 > -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel