Hi Alexandre,
On Thu, 2026-01-29 at 17:05 +0100, Alexandre Belloni wrote:
On 26/01/2026 11:11:26+0100, Rouven Czerwinski via B4 Relay wrote:
From: Rouven Czerwinski rouven.czerwinski@linaro.org
Simplify the TEE implementor ID match by returning the boolean expression directly instead of going through an if/else.
Signed-off-by: Rouven Czerwinski rouven.czerwinski@linaro.org
drivers/rtc/rtc-optee.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/rtc/rtc-optee.c b/drivers/rtc/rtc-optee.c index 184c6d142801..2f18be3de684 100644 --- a/drivers/rtc/rtc-optee.c +++ b/drivers/rtc/rtc-optee.c @@ -541,10 +541,7 @@ static int optee_rtc_read_info(struct device *dev, struct rtc_device *rtc, static int optee_ctx_match(struct tee_ioctl_version_data *ver, const void *data) {
- if (ver->impl_id == TEE_IMPL_ID_OPTEE)
return 1;- else
return 0;
- return (ver->impl_id == TEE_IMPL_ID_OPTEE);
I guess the correct way to do this would be:
return !!(ver->impl_id == TEE_IMPL_ID_OPTEE);
Could you explain why? If I read the standard correctly, an equality operation always produces either 1 or 0, so there should be no need for !! here like there is for bit flag comparisons, i.e. !!(flag & SOME_FLAG_SET) to normalize to 1 or 0. Wondering if I am missing something.
But is this change actually generating better code?
Before:
static int optee_ctx_match(struct tee_ioctl_version_data *ver, const void *data) { if (ver->impl_id == TEE_IMPL_ID_OPTEE) 0: e5900000 ldr r0, [r0] return 1; else return 0; } 4: e2400001 sub r0, r0, #1 8: e16f0f10 clz r0, r0 c: e1a002a0 lsr r0, r0, #5 10: e12fff1e bx lr
After:
static int optee_ctx_match(struct tee_ioctl_version_data *ver, const void *data) { return !!(ver->impl_id == TEE_IMPL_ID_OPTEE); 0: e5900000 ldr r0, [r0] } 4: e2400001 sub r0, r0, #1 8: e16f0f10 clz r0, r0 c: e1a002a0 lsr r0, r0, #5 10: e12fff1e bx lr
I'm in favor of keeping the current version.
I like the short version better, but I am also not very attached to getting this in at all, I'll let the maintainers decide.
Thanks and best regards, Rouven