drivers/video/fbdev/core/fbcon.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
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(-)
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;
}
--
2.34.1
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.
--
With Best Regards,
Andy Shevchenko
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;
> }
© 2016 - 2026 Red Hat, Inc.