From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3BFBB41C63 for ; Mon, 15 Dec 2025 07:05:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765782335; cv=none; b=ihBzrdf7KW4Oh+OYZVyiYIfQmzfD4TkDfOnx7h4soGwI3CNeUnYLUyTYDXT11lZ5Y7lgJSzA1qYltqQBnX6jbJIACk7N+xQGoiC6hQLy8oUjRWSRzb9ZaAsjkD3zbk9lyTf1K02cGNFNmSxrUFF0V4UmSrC/YvHH88ulJNgt7og= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765782335; c=relaxed/simple; bh=YImZtGlAy2v8SvxjAMcdkjfHXe7+vZ+vbYUbhWK+gwg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=LfMGyQAWeFJzVNTfvSWvQpuiH4AD34c8Mwgh7JhKSHRYrfeZLOstpD+hzlgkzyMDhtbgFsma84F94edi0obduDbyAd/2Y3cVHrU2sbP+oUA9TbmLLQ0kHING09jpHBYFo1qEwH9qkiZvNc/NIQ1NJWN+mj7axkQjaskZKYwOpf0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IriLj8Qv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IriLj8Qv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 11DD8C4CEF5; Mon, 15 Dec 2025 07:05:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1765782334; bh=YImZtGlAy2v8SvxjAMcdkjfHXe7+vZ+vbYUbhWK+gwg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=IriLj8Qv4vx4NWruPMyR+3bD/hBMJXGtaJXOSELZGAEpQ6RcWyegshl7DUy7waJX/ KipzTiO596srtOFFARwiWcUOPq4peNO3nSC1lr48l/1vyT3/0VPu2vZysnhCGwXxal Ki5e055wVqFF/8oBUiFFo0A+vZVXN/D+XubWMHAGa9upVjBGh2M/ECs9yhRj/oNNwh FFvMnP6PUSurP6GsxUbqRdPYBoKA3EKvI3IqG+MtdDkya1Sk4V5Pzor18YeSCXQB16 HTLHsDIXRQpad3GN3ATOHvSsuzrC0Kv6H/owEllbL2UtmtIzjTDiu/tCD4D5I9gPLO UEledGbIEvx9Q== Date: Mon, 15 Dec 2025 16:05:30 +0900 From: Sumit Garg To: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= Cc: Jens Wiklander , op-tee@lists.trustedfirmware.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 01/17] tee: Add some helpers to reduce boilerplate for tee client drivers Message-ID: References: <899e887aa68206155f2fc56ad768cbcf40012fb6.1765472125.git.u.kleine-koenig@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <899e887aa68206155f2fc56ad768cbcf40012fb6.1765472125.git.u.kleine-koenig@baylibre.com> On Thu, Dec 11, 2025 at 06:14:55PM +0100, Uwe Kleine-König wrote: > Similar to platform drivers (and others) create dedicated register and > unregister functions and a macro to simplify modules that only need to > handle driver registration in their init and exit handlers. > > Signed-off-by: Uwe Kleine-König > --- > drivers/tee/tee_core.c | 16 ++++++++++++++++ > include/linux/tee_drv.h | 9 +++++++++ > 2 files changed, 25 insertions(+) Reviewed-by: Sumit Garg -Sumit > > diff --git a/drivers/tee/tee_core.c b/drivers/tee/tee_core.c > index d65d47cc154e..51379f7fc5d5 100644 > --- a/drivers/tee/tee_core.c > +++ b/drivers/tee/tee_core.c > @@ -1405,6 +1405,22 @@ const struct bus_type tee_bus_type = { > }; > EXPORT_SYMBOL_GPL(tee_bus_type); > > +int __tee_client_driver_register(struct tee_client_driver *tee_driver, > + struct module *owner) > +{ > + tee_driver->driver.owner = owner; > + tee_driver->driver.bus = &tee_bus_type; > + > + return driver_register(&tee_driver->driver); > +} > +EXPORT_SYMBOL_GPL(__tee_client_driver_register); > + > +void tee_client_driver_unregister(struct tee_client_driver *tee_driver) > +{ > + driver_unregister(&tee_driver->driver); > +} > +EXPORT_SYMBOL_GPL(tee_client_driver_unregister); > + > static int __init tee_init(void) > { > int rc; > diff --git a/include/linux/tee_drv.h b/include/linux/tee_drv.h > index 88a6f9697c89..850c03b2cdea 100644 > --- a/include/linux/tee_drv.h > +++ b/include/linux/tee_drv.h > @@ -322,4 +322,13 @@ struct tee_client_driver { > #define to_tee_client_driver(d) \ > container_of_const(d, struct tee_client_driver, driver) > > +#define tee_client_driver_register(drv) \ > + __tee_client_driver_register(drv, THIS_MODULE) > +int __tee_client_driver_register(struct tee_client_driver *, struct module *); > +void tee_client_driver_unregister(struct tee_client_driver *); > + > +#define module_tee_client_driver(__tee_client_driver) \ > + module_driver(__tee_client_driver, tee_client_driver_register, \ > + tee_client_driver_unregister) > + > #endif /*__TEE_DRV_H*/ > -- > 2.47.3 >