public inbox for linux-crypto@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] OP-TEE/OP-TEE drivers: simplify context matches
@ 2026-01-26 10:11 Rouven Czerwinski via B4 Relay
  2026-01-26 10:11 ` [PATCH 1/3] optee: simplify OP-TEE context match Rouven Czerwinski via B4 Relay
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Rouven Czerwinski via B4 Relay @ 2026-01-26 10:11 UTC (permalink / raw)
  To: Jens Wiklander, Sumit Garg, Olivia Mackall, Herbert Xu,
	Clément Léger, Alexandre Belloni
  Cc: op-tee, linux-kernel, linux-crypto, linux-rtc, Rouven Czerwinski

Both the OP-TEE core and some OP-TEE drivers use an if/else expression
to check a boolean which can instead be returned directly. Implement
this change.

---
Rouven Czerwinski (3):
      optee: simplify OP-TEE context match
      hwrng: optee - simplify OP-TEE context match
      rtc: optee: simplify OP-TEE context match

 drivers/char/hw_random/optee-rng.c | 5 +----
 drivers/rtc/rtc-optee.c            | 5 +----
 drivers/tee/optee/device.c         | 5 +----
 3 files changed, 3 insertions(+), 12 deletions(-)
---
base-commit: 63804fed149a6750ffd28610c5c1c98cce6bd377
change-id: 20260126-optee-simplify-context-match-d5b3467bfacc

Best regards,
-- 
Rouven Czerwinski <rouven.czerwinski@linaro.org>



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] optee: simplify OP-TEE context match
  2026-01-26 10:11 [PATCH 0/3] OP-TEE/OP-TEE drivers: simplify context matches Rouven Czerwinski via B4 Relay
@ 2026-01-26 10:11 ` Rouven Czerwinski via B4 Relay
  2026-02-10  5:22   ` Sumit Garg
  2026-01-26 10:11 ` [PATCH 2/3] hwrng: optee - " Rouven Czerwinski via B4 Relay
  2026-01-26 10:11 ` [PATCH 3/3] rtc: optee: " Rouven Czerwinski via B4 Relay
  2 siblings, 1 reply; 9+ messages in thread
From: Rouven Czerwinski via B4 Relay @ 2026-01-26 10:11 UTC (permalink / raw)
  To: Jens Wiklander, Sumit Garg, Olivia Mackall, Herbert Xu,
	Clément Léger, Alexandre Belloni
  Cc: op-tee, linux-kernel, linux-crypto, linux-rtc, Rouven Czerwinski

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/tee/optee/device.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/tee/optee/device.c b/drivers/tee/optee/device.c
index 950b4661d5df..4c85b04d6004 100644
--- a/drivers/tee/optee/device.c
+++ b/drivers/tee/optee/device.c
@@ -13,10 +13,7 @@
 
 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);
 }
 
 static int get_devices(struct tee_context *ctx, u32 session,

-- 
2.52.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] hwrng: optee - simplify OP-TEE context match
  2026-01-26 10:11 [PATCH 0/3] OP-TEE/OP-TEE drivers: simplify context matches Rouven Czerwinski via B4 Relay
  2026-01-26 10:11 ` [PATCH 1/3] optee: simplify OP-TEE context match Rouven Czerwinski via B4 Relay
@ 2026-01-26 10:11 ` Rouven Czerwinski via B4 Relay
  2026-02-06 10:57   ` Herbert Xu
  2026-01-26 10:11 ` [PATCH 3/3] rtc: optee: " Rouven Czerwinski via B4 Relay
  2 siblings, 1 reply; 9+ messages in thread
From: Rouven Czerwinski via B4 Relay @ 2026-01-26 10:11 UTC (permalink / raw)
  To: Jens Wiklander, Sumit Garg, Olivia Mackall, Herbert Xu,
	Clément Léger, Alexandre Belloni
  Cc: op-tee, linux-kernel, linux-crypto, linux-rtc, Rouven Czerwinski

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/char/hw_random/optee-rng.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/char/hw_random/optee-rng.c b/drivers/char/hw_random/optee-rng.c
index 96b5d546d136..1cb741a6d112 100644
--- a/drivers/char/hw_random/optee-rng.c
+++ b/drivers/char/hw_random/optee-rng.c
@@ -205,10 +205,7 @@ static int get_optee_rng_info(struct device *dev)
 
 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);
 }
 
 static int optee_rng_probe(struct device *dev)

-- 
2.52.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] rtc: optee: simplify OP-TEE context match
  2026-01-26 10:11 [PATCH 0/3] OP-TEE/OP-TEE drivers: simplify context matches Rouven Czerwinski via B4 Relay
  2026-01-26 10:11 ` [PATCH 1/3] optee: simplify OP-TEE context match Rouven Czerwinski via B4 Relay
  2026-01-26 10:11 ` [PATCH 2/3] hwrng: optee - " Rouven Czerwinski via B4 Relay
@ 2026-01-26 10:11 ` Rouven Czerwinski via B4 Relay
  2026-01-29 16:05   ` Alexandre Belloni
  2 siblings, 1 reply; 9+ messages in thread
From: Rouven Czerwinski via B4 Relay @ 2026-01-26 10:11 UTC (permalink / raw)
  To: Jens Wiklander, Sumit Garg, Olivia Mackall, Herbert Xu,
	Clément Léger, Alexandre Belloni
  Cc: op-tee, linux-kernel, linux-crypto, linux-rtc, Rouven Czerwinski

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);
 }
 
 static int optee_rtc_probe(struct device *dev)

-- 
2.52.0



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/3] rtc: optee: simplify OP-TEE context match
  2026-01-26 10:11 ` [PATCH 3/3] rtc: optee: " Rouven Czerwinski via B4 Relay
@ 2026-01-29 16:05   ` Alexandre Belloni
  2026-01-30 15:03     ` Rouven Czerwinski
  0 siblings, 1 reply; 9+ messages in thread
From: Alexandre Belloni @ 2026-01-29 16:05 UTC (permalink / raw)
  To: rouven.czerwinski
  Cc: Jens Wiklander, Sumit Garg, Olivia Mackall, Herbert Xu,
	Clément Léger, op-tee, linux-kernel, linux-crypto,
	linux-rtc

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);

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.

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/3] rtc: optee: simplify OP-TEE context match
  2026-01-29 16:05   ` Alexandre Belloni
@ 2026-01-30 15:03     ` Rouven Czerwinski
  0 siblings, 0 replies; 9+ messages in thread
From: Rouven Czerwinski @ 2026-01-30 15:03 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Jens Wiklander, Sumit Garg, Olivia Mackall, Herbert Xu,
	Clément Léger, op-tee, linux-kernel, linux-crypto,
	linux-rtc

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



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] hwrng: optee - simplify OP-TEE context match
  2026-01-26 10:11 ` [PATCH 2/3] hwrng: optee - " Rouven Czerwinski via B4 Relay
@ 2026-02-06 10:57   ` Herbert Xu
  0 siblings, 0 replies; 9+ messages in thread
From: Herbert Xu @ 2026-02-06 10:57 UTC (permalink / raw)
  To: rouven.czerwinski
  Cc: Jens Wiklander, Sumit Garg, Olivia Mackall,
	Clément Léger, Alexandre Belloni, op-tee, linux-kernel,
	linux-crypto, linux-rtc

On Mon, Jan 26, 2026 at 11:11:25AM +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/char/hw_random/optee-rng.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] optee: simplify OP-TEE context match
  2026-01-26 10:11 ` [PATCH 1/3] optee: simplify OP-TEE context match Rouven Czerwinski via B4 Relay
@ 2026-02-10  5:22   ` Sumit Garg
  2026-03-04  9:34     ` Jens Wiklander
  0 siblings, 1 reply; 9+ messages in thread
From: Sumit Garg @ 2026-02-10  5:22 UTC (permalink / raw)
  To: rouven.czerwinski
  Cc: Jens Wiklander, Olivia Mackall, Herbert Xu,
	Clément Léger, Alexandre Belloni, op-tee, linux-kernel,
	linux-crypto, linux-rtc

On Mon, Jan 26, 2026 at 11:11:24AM +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/tee/optee/device.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>

-Sumit

> diff --git a/drivers/tee/optee/device.c b/drivers/tee/optee/device.c
> index 950b4661d5df..4c85b04d6004 100644
> --- a/drivers/tee/optee/device.c
> +++ b/drivers/tee/optee/device.c
> @@ -13,10 +13,7 @@
>  
>  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);
>  }
>  
>  static int get_devices(struct tee_context *ctx, u32 session,
> 
> -- 
> 2.52.0
> 
> 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] optee: simplify OP-TEE context match
  2026-02-10  5:22   ` Sumit Garg
@ 2026-03-04  9:34     ` Jens Wiklander
  0 siblings, 0 replies; 9+ messages in thread
From: Jens Wiklander @ 2026-03-04  9:34 UTC (permalink / raw)
  To: Sumit Garg
  Cc: rouven.czerwinski, Olivia Mackall, Herbert Xu,
	Clément Léger, Alexandre Belloni, op-tee, linux-kernel,
	linux-crypto, linux-rtc

On Tue, Feb 10, 2026 at 6:22 AM Sumit Garg <sumit.garg@kernel.org> wrote:
>
> On Mon, Jan 26, 2026 at 11:11:24AM +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/tee/optee/device.c | 5 +----
> >  1 file changed, 1 insertion(+), 4 deletions(-)
> >
>
> Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>

I'm picking up this.

Thanks,
Jens

>
> -Sumit
>
> > diff --git a/drivers/tee/optee/device.c b/drivers/tee/optee/device.c
> > index 950b4661d5df..4c85b04d6004 100644
> > --- a/drivers/tee/optee/device.c
> > +++ b/drivers/tee/optee/device.c
> > @@ -13,10 +13,7 @@
> >
> >  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);
> >  }
> >
> >  static int get_devices(struct tee_context *ctx, u32 session,
> >
> > --
> > 2.52.0
> >
> >
> >

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-03-04  9:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-26 10:11 [PATCH 0/3] OP-TEE/OP-TEE drivers: simplify context matches Rouven Czerwinski via B4 Relay
2026-01-26 10:11 ` [PATCH 1/3] optee: simplify OP-TEE context match Rouven Czerwinski via B4 Relay
2026-02-10  5:22   ` Sumit Garg
2026-03-04  9:34     ` Jens Wiklander
2026-01-26 10:11 ` [PATCH 2/3] hwrng: optee - " Rouven Czerwinski via B4 Relay
2026-02-06 10:57   ` Herbert Xu
2026-01-26 10:11 ` [PATCH 3/3] rtc: optee: " Rouven Czerwinski via B4 Relay
2026-01-29 16:05   ` Alexandre Belloni
2026-01-30 15:03     ` Rouven Czerwinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox