Char: cyclades, conditions cleanup
- 0 is not NULL - use unlikely to hit the icache in isr more likely - remove or comment empty if/else paths [akpm@linux-foundation.org: build fix] Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9fa1b3b185
commit
f742903424
@ -1043,7 +1043,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip,
|
|||||||
cy_writeb(base_addr + (CyCAR << index), save_xir);
|
cy_writeb(base_addr + (CyCAR << index), save_xir);
|
||||||
|
|
||||||
/* if there is nowhere to put the data, discard it */
|
/* if there is nowhere to put the data, discard it */
|
||||||
if (info->tty == 0) {
|
if (info->tty == NULL) {
|
||||||
j = (readb(base_addr + (CyRIVR << index)) &
|
j = (readb(base_addr + (CyRIVR << index)) &
|
||||||
CyIVRMask);
|
CyIVRMask);
|
||||||
if (j == CyIVRRxEx) { /* exception */
|
if (j == CyIVRRxEx) { /* exception */
|
||||||
@ -1214,7 +1214,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip,
|
|||||||
goto txend;
|
goto txend;
|
||||||
}
|
}
|
||||||
info = &cy_port[i];
|
info = &cy_port[i];
|
||||||
if (info->tty == 0) {
|
if (info->tty == NULL) {
|
||||||
cy_writeb(base_addr + (CySRER << index),
|
cy_writeb(base_addr + (CySRER << index),
|
||||||
readb(base_addr + (CySRER << index)) &
|
readb(base_addr + (CySRER << index)) &
|
||||||
~CyTxRdy);
|
~CyTxRdy);
|
||||||
@ -1263,7 +1263,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip,
|
|||||||
}
|
}
|
||||||
goto txdone;
|
goto txdone;
|
||||||
}
|
}
|
||||||
if (info->xmit_buf == 0) {
|
if (info->xmit_buf == NULL) {
|
||||||
cy_writeb(base_addr + (CySRER << index),
|
cy_writeb(base_addr + (CySRER << index),
|
||||||
readb(base_addr + (CySRER << index)) &
|
readb(base_addr + (CySRER << index)) &
|
||||||
~CyTxRdy);
|
~CyTxRdy);
|
||||||
@ -1304,7 +1304,6 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip,
|
|||||||
0);
|
0);
|
||||||
info->icount.tx++;
|
info->icount.tx++;
|
||||||
char_count--;
|
char_count--;
|
||||||
} else {
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1333,9 +1332,7 @@ txend:
|
|||||||
mdm_change = readb(base_addr + (CyMISR << index));
|
mdm_change = readb(base_addr + (CyMISR << index));
|
||||||
mdm_status = readb(base_addr + (CyMSVR1 << index));
|
mdm_status = readb(base_addr + (CyMSVR1 << index));
|
||||||
|
|
||||||
if (info->tty == 0) { /* no place for data, ignore it */
|
if (info->tty) {
|
||||||
;
|
|
||||||
} else {
|
|
||||||
if (mdm_change & CyANY_DELTA) {
|
if (mdm_change & CyANY_DELTA) {
|
||||||
/* For statistics only */
|
/* For statistics only */
|
||||||
if (mdm_change & CyDCD)
|
if (mdm_change & CyDCD)
|
||||||
@ -1389,10 +1386,10 @@ txend:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mdm_change & CyDSR) {
|
/* if (mdm_change & CyDSR) {
|
||||||
}
|
}
|
||||||
if (mdm_change & CyRI) {
|
if (mdm_change & CyRI) {
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
/* end of service */
|
/* end of service */
|
||||||
cy_writeb(base_addr + (CyMIR << index), (save_xir & 0x3f));
|
cy_writeb(base_addr + (CyMIR << index), (save_xir & 0x3f));
|
||||||
@ -1408,14 +1405,14 @@ txend:
|
|||||||
static irqreturn_t cyy_interrupt(int irq, void *dev_id)
|
static irqreturn_t cyy_interrupt(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
struct cyclades_card *cinfo;
|
struct cyclades_card *cinfo = dev_id;
|
||||||
void __iomem *base_addr, *card_base_addr;
|
void __iomem *base_addr, *card_base_addr;
|
||||||
int chip;
|
int chip;
|
||||||
int index;
|
int index;
|
||||||
int too_many;
|
int too_many;
|
||||||
int had_work;
|
int had_work;
|
||||||
|
|
||||||
if ((cinfo = (struct cyclades_card *)dev_id) == 0) {
|
if (unlikely(cinfo == NULL)) {
|
||||||
#ifdef CY_DEBUG_INTERRUPTS
|
#ifdef CY_DEBUG_INTERRUPTS
|
||||||
printk(KERN_DEBUG "cyy_interrupt: spurious interrupt %d\n",irq);
|
printk(KERN_DEBUG "cyy_interrupt: spurious interrupt %d\n",irq);
|
||||||
#endif
|
#endif
|
||||||
@ -1564,7 +1561,7 @@ cyz_handle_rx(struct cyclades_port *info, struct CH_CTRL __iomem *ch_ctrl,
|
|||||||
info->mon.char_max = char_count;
|
info->mon.char_max = char_count;
|
||||||
info->mon.char_last = char_count;
|
info->mon.char_last = char_count;
|
||||||
#endif
|
#endif
|
||||||
if (tty == 0) {
|
if (tty == NULL) {
|
||||||
/* flush received characters */
|
/* flush received characters */
|
||||||
new_rx_get = (new_rx_get + char_count) &
|
new_rx_get = (new_rx_get + char_count) &
|
||||||
(rx_bufsize - 1);
|
(rx_bufsize - 1);
|
||||||
@ -1650,9 +1647,8 @@ cyz_handle_tx(struct cyclades_port *info, struct CH_CTRL __iomem *ch_ctrl,
|
|||||||
|
|
||||||
if (char_count) {
|
if (char_count) {
|
||||||
|
|
||||||
if (tty == 0) {
|
if (tty == NULL)
|
||||||
goto ztxdone;
|
goto ztxdone;
|
||||||
}
|
|
||||||
|
|
||||||
if (info->x_char) { /* send special char */
|
if (info->x_char) { /* send special char */
|
||||||
data = info->x_char;
|
data = info->x_char;
|
||||||
@ -1731,9 +1727,9 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo)
|
|||||||
special_count = 0;
|
special_count = 0;
|
||||||
delta_count = 0;
|
delta_count = 0;
|
||||||
info = &cy_port[channel + cinfo->first_line];
|
info = &cy_port[channel + cinfo->first_line];
|
||||||
if ((tty = info->tty) == 0) {
|
if ((tty = info->tty) == NULL)
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
ch_ctrl = &(zfw_ctrl->ch_ctrl[channel]);
|
ch_ctrl = &(zfw_ctrl->ch_ctrl[channel]);
|
||||||
buf_ctrl = &(zfw_ctrl->buf_ctrl[channel]);
|
buf_ctrl = &(zfw_ctrl->buf_ctrl[channel]);
|
||||||
|
|
||||||
@ -1822,16 +1818,16 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo)
|
|||||||
#ifdef CONFIG_CYZ_INTR
|
#ifdef CONFIG_CYZ_INTR
|
||||||
static irqreturn_t cyz_interrupt(int irq, void *dev_id)
|
static irqreturn_t cyz_interrupt(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
struct cyclades_card *cinfo;
|
struct cyclades_card *cinfo = dev_id;
|
||||||
|
|
||||||
if ((cinfo = (struct cyclades_card *)dev_id) == 0) {
|
if (unlikely(cinfo == NULL)) {
|
||||||
#ifdef CY_DEBUG_INTERRUPTS
|
#ifdef CY_DEBUG_INTERRUPTS
|
||||||
printk(KERN_DEBUG "cyz_interrupt: spurious interrupt %d\n",irq);
|
printk(KERN_DEBUG "cyz_interrupt: spurious interrupt %d\n",irq);
|
||||||
#endif
|
#endif
|
||||||
return IRQ_NONE; /* spurious interrupt */
|
return IRQ_NONE; /* spurious interrupt */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ISZLOADED(*cinfo)) {
|
if (unlikely(!ISZLOADED(*cinfo))) {
|
||||||
#ifdef CY_DEBUG_INTERRUPTS
|
#ifdef CY_DEBUG_INTERRUPTS
|
||||||
printk(KERN_DEBUG "cyz_interrupt: board not yet loaded "
|
printk(KERN_DEBUG "cyz_interrupt: board not yet loaded "
|
||||||
"(IRQ%d).\n", irq);
|
"(IRQ%d).\n", irq);
|
||||||
@ -2661,8 +2657,6 @@ static void cy_wait_until_sent(struct tty_struct *tty, int timeout)
|
|||||||
timeout))
|
timeout))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
}
|
}
|
||||||
/* Run one more char cycle */
|
/* Run one more char cycle */
|
||||||
msleep_interruptible(jiffies_to_msecs(char_time * 5));
|
msleep_interruptible(jiffies_to_msecs(char_time * 5));
|
||||||
@ -3857,8 +3851,6 @@ static int set_threshold(struct cyclades_port *info, unsigned long value)
|
|||||||
cy_writeb(base_addr + (CyCOR3 << index), info->cor3);
|
cy_writeb(base_addr + (CyCOR3 << index), info->cor3);
|
||||||
cyy_issue_cmd(base_addr, CyCOR_CHANGE | CyCOR3ch, index);
|
cyy_issue_cmd(base_addr, CyCOR_CHANGE | CyCOR3ch, index);
|
||||||
spin_unlock_irqrestore(&card->card_lock, flags);
|
spin_unlock_irqrestore(&card->card_lock, flags);
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
} /* set_threshold */
|
} /* set_threshold */
|
||||||
@ -3881,10 +3873,8 @@ get_threshold(struct cyclades_port *info, unsigned long __user * value)
|
|||||||
|
|
||||||
tmp = readb(base_addr + (CyCOR3 << index)) & CyREC_FIFO;
|
tmp = readb(base_addr + (CyCOR3 << index)) & CyREC_FIFO;
|
||||||
return put_user(tmp, value);
|
return put_user(tmp, value);
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
} /* get_threshold */
|
} /* get_threshold */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -3918,8 +3908,6 @@ static int set_timeout(struct cyclades_port *info, unsigned long value)
|
|||||||
spin_lock_irqsave(&card->card_lock, flags);
|
spin_lock_irqsave(&card->card_lock, flags);
|
||||||
cy_writeb(base_addr + (CyRTPR << index), value & 0xff);
|
cy_writeb(base_addr + (CyRTPR << index), value & 0xff);
|
||||||
spin_unlock_irqrestore(&card->card_lock, flags);
|
spin_unlock_irqrestore(&card->card_lock, flags);
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
} /* set_timeout */
|
} /* set_timeout */
|
||||||
@ -3941,10 +3929,8 @@ static int get_timeout(struct cyclades_port *info, unsigned long __user * value)
|
|||||||
|
|
||||||
tmp = readb(base_addr + (CyRTPR << index));
|
tmp = readb(base_addr + (CyRTPR << index));
|
||||||
return put_user(tmp, value);
|
return put_user(tmp, value);
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
} /* get_timeout */
|
} /* get_timeout */
|
||||||
|
|
||||||
static int set_default_timeout(struct cyclades_port *info, unsigned long value)
|
static int set_default_timeout(struct cyclades_port *info, unsigned long value)
|
||||||
@ -4348,8 +4334,6 @@ static void cy_stop(struct tty_struct *tty)
|
|||||||
cy_writeb(base_addr + (CySRER << index),
|
cy_writeb(base_addr + (CySRER << index),
|
||||||
readb(base_addr + (CySRER << index)) & ~CyTxRdy);
|
readb(base_addr + (CySRER << index)) & ~CyTxRdy);
|
||||||
spin_unlock_irqrestore(&cinfo->card_lock, flags);
|
spin_unlock_irqrestore(&cinfo->card_lock, flags);
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
}
|
}
|
||||||
} /* cy_stop */
|
} /* cy_stop */
|
||||||
|
|
||||||
@ -4381,8 +4365,6 @@ static void cy_start(struct tty_struct *tty)
|
|||||||
cy_writeb(base_addr + (CySRER << index),
|
cy_writeb(base_addr + (CySRER << index),
|
||||||
readb(base_addr + (CySRER << index)) | CyTxRdy);
|
readb(base_addr + (CySRER << index)) | CyTxRdy);
|
||||||
spin_unlock_irqrestore(&cinfo->card_lock, flags);
|
spin_unlock_irqrestore(&cinfo->card_lock, flags);
|
||||||
} else {
|
|
||||||
/* Nothing to do! */
|
|
||||||
}
|
}
|
||||||
} /* cy_start */
|
} /* cy_start */
|
||||||
|
|
||||||
@ -4694,7 +4676,7 @@ static int __init cy_detect_isa(void)
|
|||||||
}
|
}
|
||||||
/* fill the next cy_card structure available */
|
/* fill the next cy_card structure available */
|
||||||
for (j = 0; j < NR_CARDS; j++) {
|
for (j = 0; j < NR_CARDS; j++) {
|
||||||
if (cy_card[j].base_addr == 0)
|
if (cy_card[j].base_addr == NULL)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (j == NR_CARDS) { /* no more cy_cards available */
|
if (j == NR_CARDS) { /* no more cy_cards available */
|
||||||
@ -4779,7 +4761,7 @@ static int __devinit cy_init_Ze(struct RUNTIME_9060 __iomem *cy_pci_addr0,
|
|||||||
|
|
||||||
/* fill the next cy_card structure available */
|
/* fill the next cy_card structure available */
|
||||||
for (j = 0; j < NR_CARDS; j++) {
|
for (j = 0; j < NR_CARDS; j++) {
|
||||||
if (cy_card[j].base_addr == 0)
|
if (cy_card[j].base_addr == NULL)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (j == NR_CARDS) { /* no more cy_cards available */
|
if (j == NR_CARDS) { /* no more cy_cards available */
|
||||||
@ -4889,7 +4871,7 @@ static int __devinit cy_pci_probe(struct pci_dev *pdev,
|
|||||||
}
|
}
|
||||||
/* fill the next cy_card structure available */
|
/* fill the next cy_card structure available */
|
||||||
for (j = 0; j < NR_CARDS; j++) {
|
for (j = 0; j < NR_CARDS; j++) {
|
||||||
if (cy_card[j].base_addr == 0)
|
if (cy_card[j].base_addr == NULL)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (j == NR_CARDS) { /* no more cy_cards available */
|
if (j == NR_CARDS) { /* no more cy_cards available */
|
||||||
@ -5039,7 +5021,7 @@ static int __devinit cy_pci_probe(struct pci_dev *pdev,
|
|||||||
|
|
||||||
/* fill the next cy_card structure available */
|
/* fill the next cy_card structure available */
|
||||||
for (j = 0; j < NR_CARDS; j++) {
|
for (j = 0; j < NR_CARDS; j++) {
|
||||||
if (cy_card[j].base_addr == 0)
|
if (cy_card[j].base_addr == NULL)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (j == NR_CARDS) { /* no more cy_cards available */
|
if (j == NR_CARDS) { /* no more cy_cards available */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user