Skip to content

Commit a707eda

Browse files
ukleinekjenswi-linaro
authored andcommitted
tee: Add some helpers to reduce boilerplate for tee client drivers
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. Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
1 parent 8f0b4cc commit a707eda

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

drivers/tee/tee_core.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1405,6 +1405,22 @@ const struct bus_type tee_bus_type = {
14051405
};
14061406
EXPORT_SYMBOL_GPL(tee_bus_type);
14071407

1408+
int __tee_client_driver_register(struct tee_client_driver *tee_driver,
1409+
struct module *owner)
1410+
{
1411+
tee_driver->driver.owner = owner;
1412+
tee_driver->driver.bus = &tee_bus_type;
1413+
1414+
return driver_register(&tee_driver->driver);
1415+
}
1416+
EXPORT_SYMBOL_GPL(__tee_client_driver_register);
1417+
1418+
void tee_client_driver_unregister(struct tee_client_driver *tee_driver)
1419+
{
1420+
driver_unregister(&tee_driver->driver);
1421+
}
1422+
EXPORT_SYMBOL_GPL(tee_client_driver_unregister);
1423+
14081424
static int __init tee_init(void)
14091425
{
14101426
int rc;

include/linux/tee_drv.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,4 +322,13 @@ struct tee_client_driver {
322322
#define to_tee_client_driver(d) \
323323
container_of_const(d, struct tee_client_driver, driver)
324324

325+
#define tee_client_driver_register(drv) \
326+
__tee_client_driver_register(drv, THIS_MODULE)
327+
int __tee_client_driver_register(struct tee_client_driver *, struct module *);
328+
void tee_client_driver_unregister(struct tee_client_driver *);
329+
330+
#define module_tee_client_driver(__tee_client_driver) \
331+
module_driver(__tee_client_driver, tee_client_driver_register, \
332+
tee_client_driver_unregister)
333+
325334
#endif /*__TEE_DRV_H*/

0 commit comments

Comments
 (0)