2018-09-20 21:13:04

by Nathan Chancellor

[permalink] [raw]
Subject: [PATCH] scsi: FlashPoint: Remove unnecessary parentheses

Clang warns when multiple pairs of parentheses are used for a single
conditional statement.

In file included from drivers/scsi/BusLogic.c:57:
drivers/scsi/FlashPoint.c:2947:34: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
drivers/scsi/FlashPoint.c:2947:34: note: remove extraneous parentheses around the comparison to silence this warning
if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
~ ^ ~
drivers/scsi/FlashPoint.c:2947:34: note: use '=' to turn this equality comparison into an assignment
if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
^~
=
drivers/scsi/FlashPoint.c:2956:39: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
else if ((currSCCB->Sccb_scsistat ==
~~~~~~~~~~~~~~~~~~~~~~~~^~
drivers/scsi/FlashPoint.c:2956:39: note: remove extraneous parentheses around the comparison to silence this warning
else if ((currSCCB->Sccb_scsistat ==
~ ^
drivers/scsi/FlashPoint.c:2956:39: note: use '=' to turn this equality comparison into an assignment
else if ((currSCCB->Sccb_scsistat ==
^~
=
2 warnings generated.

Link: https://github.com/ClangBuiltLinux/linux/issues/156
Signed-off-by: Nathan Chancellor <[email protected]>
---
drivers/scsi/FlashPoint.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/FlashPoint.c b/drivers/scsi/FlashPoint.c
index 867b864f5047..0f17bd51088a 100644
--- a/drivers/scsi/FlashPoint.c
+++ b/drivers/scsi/FlashPoint.c
@@ -2944,7 +2944,7 @@ static void FPT_sdecm(unsigned char message, u32 port, unsigned char p_card)
}

if (currSCCB->Lun == 0x00) {
- if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
+ if (currSCCB->Sccb_scsistat == SELECT_SN_ST) {

currTar_Info->TarStatus |=
(unsigned char)SYNC_SUPPORTED;
@@ -2953,8 +2953,8 @@ static void FPT_sdecm(unsigned char message, u32 port, unsigned char p_card)
~EE_SYNC_MASK;
}

- else if ((currSCCB->Sccb_scsistat ==
- SELECT_WN_ST)) {
+ else if (currSCCB->Sccb_scsistat ==
+ SELECT_WN_ST) {

currTar_Info->TarStatus =
(currTar_Info->
--
2.19.0



2018-09-21 15:22:10

by Khalid Aziz

[permalink] [raw]
Subject: Re: [PATCH] scsi: FlashPoint: Remove unnecessary parentheses

On 09/20/2018 03:10 PM, Nathan Chancellor wrote:
> Clang warns when multiple pairs of parentheses are used for a single
> conditional statement.
>
> In file included from drivers/scsi/BusLogic.c:57:
> drivers/scsi/FlashPoint.c:2947:34: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
> if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
> ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> drivers/scsi/FlashPoint.c:2947:34: note: remove extraneous parentheses around the comparison to silence this warning
> if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
> ~ ^ ~
> drivers/scsi/FlashPoint.c:2947:34: note: use '=' to turn this equality comparison into an assignment
> if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
> ^~
> =
> drivers/scsi/FlashPoint.c:2956:39: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
> else if ((currSCCB->Sccb_scsistat ==
> ~~~~~~~~~~~~~~~~~~~~~~~~^~
> drivers/scsi/FlashPoint.c:2956:39: note: remove extraneous parentheses around the comparison to silence this warning
> else if ((currSCCB->Sccb_scsistat ==
> ~ ^
> drivers/scsi/FlashPoint.c:2956:39: note: use '=' to turn this equality comparison into an assignment
> else if ((currSCCB->Sccb_scsistat ==
> ^~
> =
> 2 warnings generated.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/156
> Signed-off-by: Nathan Chancellor <[email protected]>
> ---
> drivers/scsi/FlashPoint.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>

There are more places in this file with extraneous parentheses, for example:

952 if ((RD_HARPOON(ioport + hp_vendor_id_1) != ORION_VEND_1))
953 return (int)FAILURE;
954
955 if ((RD_HARPOON(ioport + hp_device_id_0) != ORION_DEV_0))
956 return (int)FAILURE;
957
958 if ((RD_HARPOON(ioport + hp_device_id_1) != ORION_DEV_1))

Wonder why the compiler does not complain about these, but this patch is
good for now. I will clean up the rest in another patch.

James, Martin, please pull this patch into the scsi tree.

Acked-by: Khalid Aziz <[email protected]>

2018-09-21 18:18:53

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] scsi: FlashPoint: Remove unnecessary parentheses

On Fri, Sep 21, 2018 at 09:19:40AM -0600, Khalid Aziz wrote:
> On 09/20/2018 03:10 PM, Nathan Chancellor wrote:
> > Clang warns when multiple pairs of parentheses are used for a single
> > conditional statement.
> >
> > In file included from drivers/scsi/BusLogic.c:57:
> > drivers/scsi/FlashPoint.c:2947:34: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
> > if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
> > ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
> > drivers/scsi/FlashPoint.c:2947:34: note: remove extraneous parentheses around the comparison to silence this warning
> > if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
> > ~ ^ ~
> > drivers/scsi/FlashPoint.c:2947:34: note: use '=' to turn this equality comparison into an assignment
> > if ((currSCCB->Sccb_scsistat == SELECT_SN_ST)) {
> > ^~
> > =
> > drivers/scsi/FlashPoint.c:2956:39: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
> > else if ((currSCCB->Sccb_scsistat ==
> > ~~~~~~~~~~~~~~~~~~~~~~~~^~
> > drivers/scsi/FlashPoint.c:2956:39: note: remove extraneous parentheses around the comparison to silence this warning
> > else if ((currSCCB->Sccb_scsistat ==
> > ~ ^
> > drivers/scsi/FlashPoint.c:2956:39: note: use '=' to turn this equality comparison into an assignment
> > else if ((currSCCB->Sccb_scsistat ==
> > ^~
> > =
> > 2 warnings generated.
> >
> > Link: https://github.com/ClangBuiltLinux/linux/issues/156
> > Signed-off-by: Nathan Chancellor <[email protected]>
> > ---
> > drivers/scsi/FlashPoint.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
>
> There are more places in this file with extraneous parentheses, for example:
>
> 952 if ((RD_HARPOON(ioport + hp_vendor_id_1) != ORION_VEND_1))
> 953 return (int)FAILURE;
> 954
> 955 if ((RD_HARPOON(ioport + hp_device_id_0) != ORION_DEV_0))
> 956 return (int)FAILURE;
> 957
> 958 if ((RD_HARPOON(ioport + hp_device_id_1) != ORION_DEV_1))
>
> Wonder why the compiler does not complain about these, but this patch is
> good for now. I will clean up the rest in another patch.
>
> James, Martin, please pull this patch into the scsi tree.
>
> Acked-by: Khalid Aziz <[email protected]>

Hi Khalid,

Clang only warns about this construct when the left hand is a variable
because it thinks that an assignment may have been intended so macros
and functions don't trigger it.

Thank you for the review, I appreciate it,
Nathan

2018-09-26 00:47:39

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH] scsi: FlashPoint: Remove unnecessary parentheses


Nathan,

> Clang warns when multiple pairs of parentheses are used for a single
> conditional statement.

Applied to 4.20/scsi-queue, thanks!

--
Martin K. Petersen Oracle Linux Engineering