drm/tinydrm: Replace list_for_each with list_for_each_entry
authorHarsha Sharma <harshasharmaiitr@gmail.com>
Sat, 14 Oct 2017 20:28:23 +0000 (01:58 +0530)
committerNoralf Trønnes <noralf@tronnes.org>
Sat, 21 Oct 2017 14:28:41 +0000 (16:28 +0200)
Replace use of list_for_each with list_for_each_entry to simplify the
code and remove variables that are used only in list_for_each.
Done with following coccinelle patch:

@r@
identifier fn,i,f,p;
expression e;
iterator name list_for_each, list_for_each_entry;
type T;
@@

fn(...) {
++ T *i;
  <+...
- list_for_each(p,e)
+ list_for_each_entry(i,e,f)
  {
              ...
-   T *i = list_entry(p,T,f);
                  ...
   }
   ...+>
}

@@
identifier r.fn,r.p;
@@

fn(...) {
  ...
- struct list_head *p;
  ... when != p
}

@@
identifier r.fn,r.i,r.f;
expression r.e;
statement S;
@@

fn(...) {
  <...
  list_for_each_entry(i,e,f)
- {
  S
- }
  ...>
}

@s@
identifier i,f,p;
expression e;
type T;
@@

- list_for_each(p,e)
+ list_for_each_entry(i,e,f)
  {
    ... when != T *i;
-   i = list_entry(p,T,f);
    ...
  }

@@
identifier s.p;
@@

- struct list_head *p;
  ... when != p

@@
identifier s.i,s.f;
expression s.e;
statement S;
@@

  list_for_each_entry(i,e,f)
- {
  S
- }

Signed-off-by: Harsha Sharma <harshasharmaiitr@gmail.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20171014202823.29230-1-harshasharmaiitr@gmail.com
drivers/gpu/drm/tinydrm/core/tinydrm-helpers.c

index bd6cce0..bf96072 100644 (file)
@@ -414,11 +414,9 @@ tinydrm_dbg_spi_print(struct spi_device *spi, struct spi_transfer *tr,
 void _tinydrm_dbg_spi_message(struct spi_device *spi, struct spi_message *m)
 {
        struct spi_transfer *tmp;
-       struct list_head *pos;
        int i = 0;
 
-       list_for_each(pos, &m->transfers) {
-               tmp = list_entry(pos, struct spi_transfer, transfer_list);
+       list_for_each_entry(tmp, &m->transfers, transfer_list) {
 
                if (tmp->tx_buf)
                        tinydrm_dbg_spi_print(spi, tmp, tmp->tx_buf, i, true);