]> git.baikalelectronics.ru Git - kernel.git/commitdiff
isdn: hfc_{pci,sx}: Avoid empty body if statements
authorNathan Chancellor <natechancellor@gmail.com>
Fri, 19 Oct 2018 01:11:04 +0000 (18:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Oct 2018 02:24:48 +0000 (19:24 -0700)
Clang warns:

drivers/isdn/hisax/hfc_pci.c:131:34: error: if statement has empty body
[-Werror,-Wempty-body]
        if (Read_hfc(cs, HFCPCI_INT_S1));
                                        ^
drivers/isdn/hisax/hfc_pci.c:131:34: note: put the semicolon on a
separate line to silence this warning

In my attempt to hide the warnings because I thought they didn't serve
any purpose[1], Masahiro Yamada pointed out that {Read,Write}_hfc in
hci_pci.c should be using a standard register access method; otherwise,
the compiler will just remove the if statements.

For hfc_pci, use the versions of {Read,Write}_hfc found in
drivers/isdn/hardware/mISDN/hfc_pCI.h while converting pci_io to be
'void __iomem *' (and clean up ioremap) then remove the empty if
statements.

For hfc_sx, {Read,Write}_hfc are already use a proper register accessor
(inb, outb) so just remove the unnecessary if statements.

[1]: https://lore.kernel.org/lkml/20181016021454.11953-1-natechancellor@gmail.com/

Link: https://github.com/ClangBuiltLinux/linux/issues/66
Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/hisax/hfc_pci.c
drivers/isdn/hisax/hfc_pci.h
drivers/isdn/hisax/hfc_sx.c
drivers/isdn/hisax/hisax.h

index 8e5b03161b2ff035e7d9092a6f56f5b861e0a2a1..ea0e4c6de3fb27518e3c03cf186cc0600301b1f1 100644 (file)
@@ -86,7 +86,7 @@ release_io_hfcpci(struct IsdnCardState *cs)
        pci_free_consistent(cs->hw.hfcpci.dev, 0x8000,
                            cs->hw.hfcpci.fifos, cs->hw.hfcpci.dma);
        cs->hw.hfcpci.fifos = NULL;
-       iounmap((void *)cs->hw.hfcpci.pci_io);
+       iounmap(cs->hw.hfcpci.pci_io);
 }
 
 /********************************************************************************/
@@ -128,7 +128,7 @@ reset_hfcpci(struct IsdnCardState *cs)
        Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1);
 
        /* Clear already pending ints */
-       if (Read_hfc(cs, HFCPCI_INT_S1));
+       Read_hfc(cs, HFCPCI_INT_S1);
 
        Write_hfc(cs, HFCPCI_STATES, HFCPCI_LOAD_STATE | 2);    /* HFC ST 2 */
        udelay(10);
@@ -158,7 +158,7 @@ reset_hfcpci(struct IsdnCardState *cs)
        /* Finally enable IRQ output */
        cs->hw.hfcpci.int_m2 = HFCPCI_IRQ_ENABLE;
        Write_hfc(cs, HFCPCI_INT_M2, cs->hw.hfcpci.int_m2);
-       if (Read_hfc(cs, HFCPCI_INT_S1));
+       Read_hfc(cs, HFCPCI_INT_S1);
 }
 
 /***************************************************/
@@ -1537,7 +1537,7 @@ hfcpci_bh(struct work_struct *work)
                                        cs->hw.hfcpci.int_m1 &= ~HFCPCI_INTS_TIMER;
                                        Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1);
                                        /* Clear already pending ints */
-                                       if (Read_hfc(cs, HFCPCI_INT_S1));
+                                       Read_hfc(cs, HFCPCI_INT_S1);
                                        Write_hfc(cs, HFCPCI_STATES, 4 | HFCPCI_LOAD_STATE);
                                        udelay(10);
                                        Write_hfc(cs, HFCPCI_STATES, 4);
@@ -1692,7 +1692,7 @@ setup_hfcpci(struct IsdnCard *card)
                printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
                return (0);
        }
-       cs->hw.hfcpci.pci_io = (char *)(unsigned long)dev_hfcpci->resource[1].start;
+       cs->hw.hfcpci.pci_io = ioremap(dev_hfcpci->resource[1].start, 256);
        printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name);
 
        if (!cs->hw.hfcpci.pci_io) {
@@ -1716,7 +1716,6 @@ setup_hfcpci(struct IsdnCard *card)
                return 0;
        }
        pci_write_config_dword(cs->hw.hfcpci.dev, 0x80, (u32)cs->hw.hfcpci.dma);
-       cs->hw.hfcpci.pci_io = ioremap((ulong) cs->hw.hfcpci.pci_io, 256);
        printk(KERN_INFO
               "HFC-PCI: defined at mem %p fifo %p(%lx) IRQ %d HZ %d\n",
               cs->hw.hfcpci.pci_io,
index 4e58700a3e613dd1440e5771bde478be543b32bc..4c3b3ba3572693e2e6d5401d2fe7a7c287f4b1af 100644 (file)
@@ -228,8 +228,8 @@ typedef union {
 } fifo_area;
 
 
-#define Write_hfc(a, b, c) (*(((u_char *)a->hw.hfcpci.pci_io) + b) = c)
-#define Read_hfc(a, b) (*(((u_char *)a->hw.hfcpci.pci_io) + b))
+#define Write_hfc(a, b, c) (writeb(c, (a->hw.hfcpci.pci_io) + b))
+#define Read_hfc(a, b) (readb((a->hw.hfcpci.pci_io) + b))
 
 extern void main_irq_hcpci(struct BCState *bcs);
 extern void releasehfcpci(struct IsdnCardState *cs);
index 4d3b4b2f2612231c345e751b642e691d5bd51c87..12af628d9b2c130e77967b9e95a311a3fcb7ea2b 100644 (file)
@@ -381,7 +381,7 @@ reset_hfcsx(struct IsdnCardState *cs)
        Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1);
 
        /* Clear already pending ints */
-       if (Read_hfc(cs, HFCSX_INT_S1));
+       Read_hfc(cs, HFCSX_INT_S1);
 
        Write_hfc(cs, HFCSX_STATES, HFCSX_LOAD_STATE | 2);      /* HFC ST 2 */
        udelay(10);
@@ -411,7 +411,7 @@ reset_hfcsx(struct IsdnCardState *cs)
        /* Finally enable IRQ output */
        cs->hw.hfcsx.int_m2 = HFCSX_IRQ_ENABLE;
        Write_hfc(cs, HFCSX_INT_M2, cs->hw.hfcsx.int_m2);
-       if (Read_hfc(cs, HFCSX_INT_S2));
+       Read_hfc(cs, HFCSX_INT_S2);
 }
 
 /***************************************************/
@@ -1288,7 +1288,7 @@ hfcsx_bh(struct work_struct *work)
                                        cs->hw.hfcsx.int_m1 &= ~HFCSX_INTS_TIMER;
                                        Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1);
                                        /* Clear already pending ints */
-                                       if (Read_hfc(cs, HFCSX_INT_S1));
+                                       Read_hfc(cs, HFCSX_INT_S1);
 
                                        Write_hfc(cs, HFCSX_STATES, 4 | HFCSX_LOAD_STATE);
                                        udelay(10);
index 338d0408b3778a87992825928a13106ebb18b9a4..40080e06421c57ca59fcee527711c3c9356d20c8 100644 (file)
@@ -703,7 +703,7 @@ struct hfcPCI_hw {
        unsigned char nt_mode;
        int nt_timer;
        struct pci_dev *dev;
-       unsigned char *pci_io; /* start of PCI IO memory */
+       void __iomem *pci_io; /* start of PCI IO memory */
        dma_addr_t dma; /* dma handle for Fifos */
        void *fifos; /* FIFO memory */
        int last_bfifo_cnt[2]; /* marker saving last b-fifo frame count */