• J
    pnp: Use list_for_each_entry() instead of open coding · 01b2bafe
    Jason Gunthorpe 提交于
    Aside from good practice, this avoids a warning from gcc 10:
    
    ./include/linux/kernel.h:997:3: warning: array subscript -31 is outside array bounds of ‘struct list_head[1]’ [-Warray-bounds]
      997 |  ((type *)(__mptr - offsetof(type, member))); })
          |  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ./include/linux/list.h:493:2: note: in expansion of macro ‘container_of’
      493 |  container_of(ptr, type, member)
          |  ^~~~~~~~~~~~
    ./include/linux/pnp.h:275:30: note: in expansion of macro ‘list_entry’
      275 | #define global_to_pnp_dev(n) list_entry(n, struct pnp_dev, global_list)
          |                              ^~~~~~~~~~
    ./include/linux/pnp.h:281:11: note: in expansion of macro ‘global_to_pnp_dev’
      281 |  (dev) != global_to_pnp_dev(&pnp_global); \
          |           ^~~~~~~~~~~~~~~~~
    arch/x86/kernel/rtc.c:189:2: note: in expansion of macro ‘pnp_for_each_dev’
      189 |  pnp_for_each_dev(dev) {
    
    Because the common code doesn't cast the starting list_head to the
    containing struct.
    Signed-off-by: NJason Gunthorpe <jgg@mellanox.com>
    [ rjw: Whitespace adjustments ]
    Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
    01b2bafe
pnp.h 14.9 KB