| From: Thorsten Blum <thorsten.blum@toblux.com> |
| Subject: lib/bch.c: use swap() to improve code |
| Date: Tue, 9 Jul 2024 00:40:24 +0200 |
| |
| Use the swap() macro to simplify the functions solve_linear_system() and |
| gf_poly_gcd() and improve their readability. Remove the local variable |
| tmp. |
| |
| Fixes the following three Coccinelle/coccicheck warnings reported by |
| swap.cocci: |
| |
| WARNING opportunity for swap() |
| WARNING opportunity for swap() |
| WARNING opportunity for swap() |
| |
| Link: https://lkml.kernel.org/r/20240708224023.9312-2-thorsten.blum@toblux.com |
| Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| lib/bch.c | 20 +++++--------------- |
| 1 file changed, 5 insertions(+), 15 deletions(-) |
| |
| --- a/lib/bch.c~lib-bchc-use-swap-to-improve-code |
| +++ a/lib/bch.c |
| @@ -479,11 +479,8 @@ static int solve_linear_system(struct bc |
| /* find suitable row for elimination */ |
| for (r = p; r < m; r++) { |
| if (rows[r] & mask) { |
| - if (r != p) { |
| - tmp = rows[r]; |
| - rows[r] = rows[p]; |
| - rows[p] = tmp; |
| - } |
| + if (r != p) |
| + swap(rows[r], rows[p]); |
| rem = r+1; |
| break; |
| } |
| @@ -799,21 +796,14 @@ static void gf_poly_div(struct bch_contr |
| static struct gf_poly *gf_poly_gcd(struct bch_control *bch, struct gf_poly *a, |
| struct gf_poly *b) |
| { |
| - struct gf_poly *tmp; |
| - |
| dbg("gcd(%s,%s)=", gf_poly_str(a), gf_poly_str(b)); |
| |
| - if (a->deg < b->deg) { |
| - tmp = b; |
| - b = a; |
| - a = tmp; |
| - } |
| + if (a->deg < b->deg) |
| + swap(a, b); |
| |
| while (b->deg > 0) { |
| gf_poly_mod(bch, a, b, NULL); |
| - tmp = b; |
| - b = a; |
| - a = tmp; |
| + swap(a, b); |
| } |
| |
| dbg("%s\n", gf_poly_str(a)); |
| _ |