On Mon, 11 Sep 2023 15:15:01 +0300 Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> wrote: > Use FIELD_GET() to extract PCIe Maximum Link Width field instead of > custom masking and shifting. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > --- > drivers/scsi/qla2xxx/qla_os.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c > index 877e4f446709..0c97a5e4249c 100644 > --- a/drivers/scsi/qla2xxx/qla_os.c > +++ b/drivers/scsi/qla2xxx/qla_os.c > @@ -5,6 +5,7 @@ > */ > #include "qla_def.h" > > +#include <linux/bitfield.h> > #include <linux/moduleparam.h> > #include <linux/vmalloc.h> > #include <linux/delay.h> > @@ -632,7 +633,7 @@ qla24xx_pci_info_str(struct scsi_qla_host *vha, char *str, size_t str_len) > > pcie_capability_read_dword(ha->pdev, PCI_EXP_LNKCAP, &lstat); > lspeed = lstat & PCI_EXP_LNKCAP_SLS; > - lwidth = (lstat & PCI_EXP_LNKCAP_MLW) >> 4; > + lwidth = FIELD_GET(PCI_EXP_LNKCAP_MLW, lstat); As previous. Whilst I'm happy to see this change I'd prefer to see it used in all similar cases so do the lspeed one just above as well. As a reviewer I don't want to care about the alignment of a particular field and hence whether it needs shifting or just masking. I want to review the header once to see it matches the spec, then never look at it again! Jonathan > > switch (lspeed) { > case 1: