diff mbox series

fbcon: break earlier in search_fb_in_map and search_for_mapped_con

Message ID 20240926115911.620624-1-qianqiang.liu@163.com (mailing list archive)
State New, archived
Headers show
Series fbcon: break earlier in search_fb_in_map and search_for_mapped_con | expand

Commit Message

Qianqiang Liu Sept. 26, 2024, 11:59 a.m. UTC
Break the for loop immediately upon finding the target, making the
process more efficient.

Signed-off-by: Qianqiang Liu <qianqiang.liu@163.com>
---
 drivers/video/fbdev/core/fbcon.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Helge Deller Sept. 26, 2024, 4:25 p.m. UTC | #1
On 9/26/24 13:59, Qianqiang Liu wrote:
> Break the for loop immediately upon finding the target, making the
> process more efficient.
>
> Signed-off-by: Qianqiang Liu <qianqiang.liu@163.com>

applied.

Thanks!
Helge

> ---
>   drivers/video/fbdev/core/fbcon.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> index d9abae2516d8..e8b4e8c119b5 100644
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -512,8 +512,10 @@ static int search_fb_in_map(int idx)
>   	int i, retval = 0;
>
>   	for (i = first_fb_vc; i <= last_fb_vc; i++) {
> -		if (con2fb_map[i] == idx)
> +		if (con2fb_map[i] == idx) {
>   			retval = 1;
> +			break;
> +		}
>   	}
>   	return retval;
>   }
> @@ -523,8 +525,10 @@ static int search_for_mapped_con(void)
>   	int i, retval = 0;
>
>   	for (i = first_fb_vc; i <= last_fb_vc; i++) {
> -		if (con2fb_map[i] != -1)
> +		if (con2fb_map[i] != -1) {
>   			retval = 1;
> +			break;
> +		}
>   	}
>   	return retval;
>   }
Andy Shevchenko Sept. 29, 2024, 7:45 p.m. UTC | #2
Thu, Sep 26, 2024 at 07:59:11PM +0800, Qianqiang Liu kirjoitti:
> Break the for loop immediately upon finding the target, making the
> process more efficient.

You may make it even more effecient (in terms of code readability as I believe
compiler optimizes this anyway to the same):

>  	int i, retval = 0;
>  
>  	for (i = first_fb_vc; i <= last_fb_vc; i++) {
> -		if (con2fb_map[i] == idx)
> +		if (con2fb_map[i] == idx) {
>  			retval = 1;
> +			break;
> +		}

		return 1;

>  	}
>  	return retval;

	return 0;

>  }

...

>  	int i, retval = 0;
>  
>  	for (i = first_fb_vc; i <= last_fb_vc; i++) {
> -		if (con2fb_map[i] != -1)
> +		if (con2fb_map[i] != -1) {
>  			retval = 1;
> +			break;
> +		}
>  	}
>  	return retval;

Ditto.

...

Since it's applied, you can consider a followup.
diff mbox series

Patch

diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index d9abae2516d8..e8b4e8c119b5 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -512,8 +512,10 @@  static int search_fb_in_map(int idx)
 	int i, retval = 0;
 
 	for (i = first_fb_vc; i <= last_fb_vc; i++) {
-		if (con2fb_map[i] == idx)
+		if (con2fb_map[i] == idx) {
 			retval = 1;
+			break;
+		}
 	}
 	return retval;
 }
@@ -523,8 +525,10 @@  static int search_for_mapped_con(void)
 	int i, retval = 0;
 
 	for (i = first_fb_vc; i <= last_fb_vc; i++) {
-		if (con2fb_map[i] != -1)
+		if (con2fb_map[i] != -1) {
 			retval = 1;
+			break;
+		}
 	}
 	return retval;
 }