On Tue, Feb 19, 2019 at 11:08:52AM +0100, Bernard Metzler wrote: > +struct siw_device { > + struct ib_device base_dev; > + struct net_device *netdev; > + struct siw_dev_cap attrs; > + > + u32 vendor_part_id; > + int numa_node; > + > + /* physical port state (only one port per device) */ > + enum ib_port_state state; > + > + spinlock_t lock; > + > + /* object management */ > + struct idr qp_idr; > + struct idr cq_idr; > + struct idr pd_idr; > + struct idr mem_idr; Please use xarray for all your idr needs, Matt is trying to get rid of IDR. See the recent giant series from him, the conversion is not so hard (though wait for the next -rc1 before doing it) > + > + struct list_head cep_list; > + struct list_head qp_list; > + struct list_head mr_list; > + > + /* active objects statistics */ > + atomic_t num_qp; > + atomic_t num_cq; > + atomic_t num_pd; > + atomic_t num_mr; > + atomic_t num_srq; > + atomic_t num_cep; > + atomic_t num_ctx; > + > + struct dentry *debugfs; > + struct work_struct netdev_down; And please look at and fix this driver for the crazy horizontal whitespace stuff. Either do it properly consitently or don't do it at all. (honestly I'd just hit this entire thing with clang-format and move on with my life) Jason