Re: [PATCH 8/8] scsi: qla2xxx: Use FIELD_GET() to extract Link Width

From: Jonathan Cameron
Date: Tue Sep 12 2023 - 06:39:53 EST


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: