OSDN Git Service

drm/nouveau/clk: Use list_for_each_entry_from_reverse
authorArushi Singhal <arushisinghal19971997@gmail.com>
Tue, 8 May 2018 13:13:09 +0000 (23:13 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 18 May 2018 07:09:35 +0000 (17:09 +1000)
It's better to use "list_for_each_entry_from_reverse" for iterating list
than "for loop" as it makes the code more clear to read.
This patch replace "for loop" with "list_for_each_entry_from_reverse"
and "start" variable with "cstate" which helps in refactoring
the code and also "cstate" variable is more commonly used in the other
functions.

changes in v2:
"start" variable is removed, before "cstate" variable was removed
but "cstate" is more common so preferred "cstate" over "start".

Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c

index 81c3567..ba6a868 100644 (file)
@@ -109,18 +109,17 @@ nvkm_cstate_valid(struct nvkm_clk *clk, struct nvkm_cstate *cstate,
 
 static struct nvkm_cstate *
 nvkm_cstate_find_best(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
-                     struct nvkm_cstate *start)
+                     struct nvkm_cstate *cstate)
 {
        struct nvkm_device *device = clk->subdev.device;
        struct nvkm_volt *volt = device->volt;
-       struct nvkm_cstate *cstate;
        int max_volt;
 
-       if (!pstate || !start)
+       if (!pstate || !cstate)
                return NULL;
 
        if (!volt)
-               return start;
+               return cstate;
 
        max_volt = volt->max_uv;
        if (volt->max0_id != 0xff)
@@ -133,8 +132,7 @@ nvkm_cstate_find_best(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
                max_volt = min(max_volt,
                               nvkm_volt_map(volt, volt->max2_id, clk->temp));
 
-       for (cstate = start; &cstate->head != &pstate->list;
-            cstate = list_prev_entry(cstate, head)) {
+       list_for_each_entry_from_reverse(cstate, &pstate->list, head) {
                if (nvkm_cstate_valid(clk, cstate, max_volt, clk->temp))
                        break;
        }