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 8377FC25B79 for ; Wed, 15 May 2024 13:14:15 +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=0iplcRQ54OdvX5aWFvkN0BfTxRU1ycRFJIi4x3s6B7Q=; b=xpHcFs4zQDm3/T HrkLg53FVjnVADlpOL2bkeGofl0MDG5t37Qmf9ifQU9tloXxFIhUqO3SCxWgma7jDAYoHpio3ql51 mQQrRpyNgLRFsJl6OgVs/BFKvtSdTwmTdf6+tccuBbVmBLDPZCp+KM5/qDZh5sFOdWkFd+w2gKOpg 3oiLdn0wrRgam+aKAEFJF8LJmIUCfVPTB9JZYioGloOJXyv+x+PkJZWGstBVaBh/L8+XpO2KxCdVj txY8yB2R/rGbCTIsIGyiLDBDkJsbtfdDsrwpzV+BF9e8JA9yZfaO1OCUfgvTKg+/szXXxyFP6bqgW Fj8RAT+EtetXDW3TfDZg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s7ESJ-00000001bd1-0Cg2; Wed, 15 May 2024 13:14:03 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s7ESG-00000001bba-1YzP for linux-arm-kernel@lists.infradead.org; Wed, 15 May 2024 13:14:01 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-41ff3a5af40so315295e9.1 for ; Wed, 15 May 2024 06:13:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1715778837; x=1716383637; darn=lists.infradead.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=wPXhFa1wTtAYGNguBZTebzWbV0Nj2MmYGJ52Xkg76Ys=; b=c2UkF8T5BxyP4Rf7qnTPxj3n5zFb61zLELCJ3vs9FsHSXw/Z4qGoAo6LYMgDG1WB+W y9FP46R3n+dEZMs3VAMqCxBru64gcoBgCgmV8pS5QzWmCpbkcBB4KKnv29aQfv0hmfqe wEhPHhdH4p58YLVP49aASJIBvovV/04F35+MKSJi8e/lBDlQOcO/AN96SKv94OLCKIGJ qL8BkyYcFc8Z4qeygY8iaIDCK3ngwfPLUs/7aen2dqFpaanOoG2i3AVUmmnCG8dV/7we cG+Wltc6Y2kr5s1bikfMek46KnqDOg6XAhvJt2b58FjXFHUbYjNxL5iKheA8kNXaP40F cnag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715778837; x=1716383637; 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=wPXhFa1wTtAYGNguBZTebzWbV0Nj2MmYGJ52Xkg76Ys=; b=bAPjcerZJdDi+9jKEU9uQjlA7eThZlRNbiZKV3z0QE7WrqhGmjI32dGMICe7REMLRS Si08E8HhvD9Svql2hC9quGPOn+o9bjidaKFvjxsuOfcFeaXFICX4x0iedb8S7D6tvObI uUGkpBNnHNHLa5rQAkNkw0+P44gfrDisEwLEMhLRCAy4A74syB/pwPHZAu+l1vk0W9Yc aoeTDrTn9jljSFwVbz48rZozJKywHbVWXan9wh4eM4NCi4YUaCDrk7OvAw060bofYOsO wQuOmnQtWsDA2yaBRby85sIykmpJAJtKUUQeS1nhAP55eu2Oz+/LpVXsVz/l06/GkVdG 456A== X-Gm-Message-State: AOJu0YyjGQ82uipgBmLHtaDCZRrrJ4b+zXkSnKLrEWpufNopKNaAMUhX e66bOhci5LQQz6//RnmDkcvPh753u5vmrujIAOKG0qYc3yQH8oy7Z0uhF8+OoQ== X-Google-Smtp-Source: AGHT+IFVxwVW0xQvldVV7yeQYCZTYSnND/uWnQekyoXy0gFUFmW8Le5G+sHo247LtAI5o4ZXkn647Q== X-Received: by 2002:a05:600c:3d9a:b0:41b:e416:1073 with SMTP id 5b1f17b1804b1-4200ebea199mr8997985e9.0.1715778836864; Wed, 15 May 2024 06:13:56 -0700 (PDT) Received: from google.com (216.131.76.34.bc.googleusercontent.com. [34.76.131.216]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-41fccce9431sm227616895e9.28.2024.05.15.06.13.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 May 2024 06:13:56 -0700 (PDT) Date: Wed, 15 May 2024 13:13:54 +0000 From: Sebastian Ene To: Sudeep Holla Cc: linux-arm-kernel@lists.infradead.org, Lorenzo Pieralisi , Jens Wiklander Subject: Re: [PATCH v2 2/2] firmware: arm_ffa: Split bus and driver into distinct modules Message-ID: References: <20240515094028.1947976-1-sudeep.holla@arm.com> <20240515094028.1947976-2-sudeep.holla@arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240515094028.1947976-2-sudeep.holla@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240515_061400_447050_480F77E8 X-CRM114-Status: GOOD ( 22.53 ) 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 Wed, May 15, 2024 at 10:40:28AM +0100, Sudeep Holla wrote: > Make the FF-A bus on its own as a distinct module initialized at > subsys_initcall level when builtin. > > Keep the FF-A driver core stack, together with any configured transport, > in a different module initialized as module_init level. > > FF-A drivers initialization is now changed to module_init level. > > Signed-off-by: Sudeep Holla > --- > drivers/firmware/arm_ffa/Makefile | 6 ++++-- > drivers/firmware/arm_ffa/bus.c | 11 +++++++++-- > drivers/firmware/arm_ffa/common.h | 2 -- > drivers/firmware/arm_ffa/driver.c | 12 ++---------- > 4 files changed, 15 insertions(+), 16 deletions(-) > > v1->v2 > - Move all the workaround related logic into the other patch > > diff --git a/drivers/firmware/arm_ffa/Makefile b/drivers/firmware/arm_ffa/Makefile > index 9d9f37523200..168990a7e792 100644 > --- a/drivers/firmware/arm_ffa/Makefile > +++ b/drivers/firmware/arm_ffa/Makefile > @@ -2,5 +2,7 @@ > ffa-bus-y = bus.o > ffa-driver-y = driver.o > ffa-transport-$(CONFIG_ARM_FFA_SMCCC) += smccc.o > -ffa-module-objs := $(ffa-bus-y) $(ffa-driver-y) $(ffa-transport-y) > -obj-$(CONFIG_ARM_FFA_TRANSPORT) = ffa-module.o > +ffa-core-objs := $(ffa-bus-y) > +ffa-module-objs := $(ffa-driver-y) $(ffa-transport-y) > +obj-$(CONFIG_ARM_FFA_TRANSPORT) = ffa-core.o > +obj-$(CONFIG_ARM_FFA_TRANSPORT) += ffa-module.o > diff --git a/drivers/firmware/arm_ffa/bus.c b/drivers/firmware/arm_ffa/bus.c > index 4baaec7f0a09..0c83931485f6 100644 > --- a/drivers/firmware/arm_ffa/bus.c > +++ b/drivers/firmware/arm_ffa/bus.c > @@ -235,14 +235,21 @@ void ffa_device_unregister(struct ffa_device *ffa_dev) > } > EXPORT_SYMBOL_GPL(ffa_device_unregister); > > -int arm_ffa_bus_init(void) > +static int __init arm_ffa_bus_init(void) > { > return bus_register(&ffa_bus_type); > } > +subsys_initcall(arm_ffa_bus_init); > > -void arm_ffa_bus_exit(void) > +static void __exit arm_ffa_bus_exit(void) > { > ffa_devices_unregister(); > bus_unregister(&ffa_bus_type); > ida_destroy(&ffa_bus_id); > } > +module_exit(arm_ffa_bus_exit); > + > +MODULE_ALIAS("ffa-core"); > +MODULE_AUTHOR("Sudeep Holla "); > +MODULE_DESCRIPTION("ARM FF-A bus"); > +MODULE_LICENSE("GPL"); > diff --git a/drivers/firmware/arm_ffa/common.h b/drivers/firmware/arm_ffa/common.h > index d6eccf1fd3f6..9c6425a81d0d 100644 > --- a/drivers/firmware/arm_ffa/common.h > +++ b/drivers/firmware/arm_ffa/common.h > @@ -14,8 +14,6 @@ typedef struct arm_smccc_1_2_regs ffa_value_t; > > typedef void (ffa_fn)(ffa_value_t, ffa_value_t *); > > -int arm_ffa_bus_init(void); > -void arm_ffa_bus_exit(void); > bool ffa_device_is_valid(struct ffa_device *ffa_dev); > void ffa_device_match_uuid(struct ffa_device *ffa_dev, const uuid_t *uuid); > > diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c > index 61d514776e5b..7ba98c7af2e9 100644 > --- a/drivers/firmware/arm_ffa/driver.c > +++ b/drivers/firmware/arm_ffa/driver.c > @@ -1608,14 +1608,9 @@ static int __init ffa_init(void) > if (ret) > return ret; > > - ret = arm_ffa_bus_init(); > - if (ret) > - return ret; > - > drv_info = kzalloc(sizeof(*drv_info), GFP_KERNEL); > if (!drv_info) { > - ret = -ENOMEM; > - goto ffa_bus_exit; > + return -ENOMEM; > } > > ret = ffa_version_check(&drv_info->version); > @@ -1676,11 +1671,9 @@ static int __init ffa_init(void) > free_pages_exact(drv_info->rx_buffer, RXTX_BUFFER_SIZE); > free_drv_info: > kfree(drv_info); > -ffa_bus_exit: > - arm_ffa_bus_exit(); > return ret; > } > -subsys_initcall(ffa_init); > +module_init(ffa_init); > > static void __exit ffa_exit(void) > { > @@ -1690,7 +1683,6 @@ static void __exit ffa_exit(void) > free_pages_exact(drv_info->tx_buffer, RXTX_BUFFER_SIZE); > free_pages_exact(drv_info->rx_buffer, RXTX_BUFFER_SIZE); > kfree(drv_info); > - arm_ffa_bus_exit(); > } > module_exit(ffa_exit); > > -- > 2.43.2 Hello Sudeep, This looks good to me, thanks. Acked-by: Sebastian Ene _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel