isdn: hfc_{pci,sx}: Avoid empty body if statements
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>
This commit is contained in:
Родитель
a19c59cc10
Коммит
a1930a9877
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче