On Wed, Aug 21, 2019 at 09:29:04AM +0800, Joseph Qi wrote: > On 19/8/21 00:31, Andy Shevchenko wrote: > > There are users already and will be more of BITS_TO_BYTES() macro. > > Move it to bitops.h for wider use. > > > > Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com> > > --- > > drivers/net/ethernet/broadcom/bnx2x/bnx2x_init.h | 1 - > > fs/ocfs2/dlm/dlmcommon.h | 4 ---- > > include/linux/bitops.h | 1 + > > 3 files changed, 1 insertion(+), 5 deletions(-) > > > > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_init.h > > b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_init.h > > index 066765fbef06..0a59a09ef82f 100644 > > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_init.h > > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_init.h > > @@ -296,7 +296,6 @@ static inline void bnx2x_dcb_config_qm(struct bnx2x > > *bp, enum cos_mode mode, > > * possible, the driver should only write the valid vnics into the > > internal > > * ram according to the appropriate port mode. > > */ > > -#define BITS_TO_BYTES(x) ((x)/8)> > I don't think this is a equivalent replace, or it is in fact > wrong before?
I was thinking about this one and there are two applications: - calculus of the amount of structures of certain type per PAGE (obviously off-by-one error in the original code IIUC purpose of STRUCT_SIZE) - calculus of some threshold based on line speed in bytes per second (I dunno it will have any difference on the Gbs / 100 MBs speeds) > > /* CMNG constants, as derived from system spec calculations */ > > > > diff --git a/fs/ocfs2/dlm/dlmcommon.h b/fs/ocfs2/dlm/dlmcommon.h > > index aaf24548b02a..0463dce65bb2 100644 > > --- a/fs/ocfs2/dlm/dlmcommon.h > > +++ b/fs/ocfs2/dlm/dlmcommon.h > > @@ -688,10 +688,6 @@ struct dlm_begin_reco > > __be32 pad2; > > }; > > > > - > > -#define BITS_PER_BYTE 8 > > -#define BITS_TO_BYTES(bits) (((bits)+BITS_PER_BYTE-1)/BITS_PER_BYTE) > > - > For ocfs2 part, it looks good to me. > Reviewed-by: Joseph Qi <joseph...@linux.alibaba.com> Thanks! > > > struct dlm_query_join_request > > { > > u8 node_idx; > > diff --git a/include/linux/bitops.h b/include/linux/bitops.h > > index cf074bce3eb3..79d80f5ddf7b 100644 > > --- a/include/linux/bitops.h > > +++ b/include/linux/bitops.h > > @@ -5,6 +5,7 @@ > > #include <linux/bits.h> > > > > #define BITS_PER_TYPE(type) (sizeof(type) * BITS_PER_BYTE) > > +#define BITS_TO_BYTES(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE) > > #define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_TYPE(long)) > > > > extern unsigned int __sw_hweight8(unsigned int w); > > -- With Best Regards, Andy Shevchenko