Re: [PATCH v2 2/2] gpu: drm: nouveau: Use list_{next/prev}_entry instead of list_entry

From: Chris Wilson
Date: Mon Mar 26 2018 - 08:43:55 EST


Quoting Ben Skeggs (2018-03-26 13:34:54)
> On Mon, Mar 26, 2018 at 4:01 AM, Arushi Singhal
> <arushisinghal19971997@xxxxxxxxx> wrote:
> > It's better to use list_entry instead of list_{next/prev}_entry
> > as it makes the code more clear to read.
> > This patch replace list_entry with list_{next/prev}_entry.
> >
> > Signed-off-by: Arushi Singhal <arushisinghal19971997@xxxxxxxxx>
> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx>
>
> > ---
> > drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
> > index e4c8d31..81c3567 100644
> > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
> > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
> > @@ -134,7 +134,7 @@ nvkm_cstate_find_best(struct nvkm_clk *clk, struct nvkm_pstate *pstate,
> > nvkm_volt_map(volt, volt->max2_id, clk->temp));
> >
> > for (cstate = start; &cstate->head != &pstate->list;
> > - cstate = list_entry(cstate->head.prev, typeof(*cstate), head)) {
> > + cstate = list_prev_entry(cstate, head)) {

This loop could be written as:

cstate = start; /* cstate looks redundant here, just use start? */
list_for_each_entry_from_reverse(cstate, &pstate->list, head)

> > if (nvkm_cstate_valid(clk, cstate, max_volt, clk->temp))
> > break;
> > }
> > --
> > 2.7.4