2019-12-30 02:51:52

by Yue Haibing

[permalink] [raw]
Subject: [PATCH -next] drm/nouveau/nv04: Use match_string() helper to simplify the code

match_string() returns the array index of a matching string.
Use it instead of the open-coded implementation.

Signed-off-by: YueHaibing <[email protected]>
---
drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
index 03466f0..3a9489e 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
@@ -644,16 +644,13 @@ static int nv17_tv_create_resources(struct drm_encoder *encoder,
int i;

if (nouveau_tv_norm) {
- for (i = 0; i < num_tv_norms; i++) {
- if (!strcmp(nv17_tv_norm_names[i], nouveau_tv_norm)) {
- tv_enc->tv_norm = i;
- break;
- }
- }
-
- if (i == num_tv_norms)
+ i = match_string(nv17_tv_norm_names, num_tv_norms,
+ nouveau_tv_norm);
+ if (i < 0)
NV_WARN(drm, "Invalid TV norm setting \"%s\"\n",
nouveau_tv_norm);
+ else
+ tv_enc->tv_norm = i;
}

drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
--
2.7.4



2020-01-06 01:07:55

by Ben Skeggs

[permalink] [raw]
Subject: Re: [Nouveau] [PATCH -next] drm/nouveau/nv04: Use match_string() helper to simplify the code

On Mon, 30 Dec 2019 at 12:48, YueHaibing <[email protected]> wrote:
>
> match_string() returns the array index of a matching string.
> Use it instead of the open-coded implementation.
>
> Signed-off-by: YueHaibing <[email protected]>
Thanks!

> ---
> drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
> index 03466f0..3a9489e 100644
> --- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
> +++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
> @@ -644,16 +644,13 @@ static int nv17_tv_create_resources(struct drm_encoder *encoder,
> int i;
>
> if (nouveau_tv_norm) {
> - for (i = 0; i < num_tv_norms; i++) {
> - if (!strcmp(nv17_tv_norm_names[i], nouveau_tv_norm)) {
> - tv_enc->tv_norm = i;
> - break;
> - }
> - }
> -
> - if (i == num_tv_norms)
> + i = match_string(nv17_tv_norm_names, num_tv_norms,
> + nouveau_tv_norm);
> + if (i < 0)
> NV_WARN(drm, "Invalid TV norm setting \"%s\"\n",
> nouveau_tv_norm);
> + else
> + tv_enc->tv_norm = i;
> }
>
> drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
> --
> 2.7.4
>
>
> _______________________________________________
> Nouveau mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/nouveau