diff options
-rw-r--r-- | drivers/char/cyclades.c | 60 |
1 files changed, 21 insertions, 39 deletions
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 6e5fca9c393a..e559ce9e7147 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c | |||
@@ -1043,7 +1043,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip, | |||
1043 | cy_writeb(base_addr + (CyCAR << index), save_xir); | 1043 | cy_writeb(base_addr + (CyCAR << index), save_xir); |
1044 | 1044 | ||
1045 | /* if there is nowhere to put the data, discard it */ | 1045 | /* if there is nowhere to put the data, discard it */ |
1046 | if (info->tty == 0) { | 1046 | if (info->tty == NULL) { |
1047 | j = (readb(base_addr + (CyRIVR << index)) & | 1047 | j = (readb(base_addr + (CyRIVR << index)) & |
1048 | CyIVRMask); | 1048 | CyIVRMask); |
1049 | if (j == CyIVRRxEx) { /* exception */ | 1049 | if (j == CyIVRRxEx) { /* exception */ |
@@ -1214,7 +1214,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip, | |||
1214 | goto txend; | 1214 | goto txend; |
1215 | } | 1215 | } |
1216 | info = &cy_port[i]; | 1216 | info = &cy_port[i]; |
1217 | if (info->tty == 0) { | 1217 | if (info->tty == NULL) { |
1218 | cy_writeb(base_addr + (CySRER << index), | 1218 | cy_writeb(base_addr + (CySRER << index), |
1219 | readb(base_addr + (CySRER << index)) & | 1219 | readb(base_addr + (CySRER << index)) & |
1220 | ~CyTxRdy); | 1220 | ~CyTxRdy); |
@@ -1263,7 +1263,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip, | |||
1263 | } | 1263 | } |
1264 | goto txdone; | 1264 | goto txdone; |
1265 | } | 1265 | } |
1266 | if (info->xmit_buf == 0) { | 1266 | if (info->xmit_buf == NULL) { |
1267 | cy_writeb(base_addr + (CySRER << index), | 1267 | cy_writeb(base_addr + (CySRER << index), |
1268 | readb(base_addr + (CySRER << index)) & | 1268 | readb(base_addr + (CySRER << index)) & |
1269 | ~CyTxRdy); | 1269 | ~CyTxRdy); |
@@ -1304,7 +1304,6 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip, | |||
1304 | 0); | 1304 | 0); |
1305 | info->icount.tx++; | 1305 | info->icount.tx++; |
1306 | char_count--; | 1306 | char_count--; |
1307 | } else { | ||
1308 | } | 1307 | } |
1309 | } | 1308 | } |
1310 | } | 1309 | } |
@@ -1333,9 +1332,7 @@ txend: | |||
1333 | mdm_change = readb(base_addr + (CyMISR << index)); | 1332 | mdm_change = readb(base_addr + (CyMISR << index)); |
1334 | mdm_status = readb(base_addr + (CyMSVR1 << index)); | 1333 | mdm_status = readb(base_addr + (CyMSVR1 << index)); |
1335 | 1334 | ||
1336 | if (info->tty == 0) { /* no place for data, ignore it */ | 1335 | if (info->tty) { |
1337 | ; | ||
1338 | } else { | ||
1339 | if (mdm_change & CyANY_DELTA) { | 1336 | if (mdm_change & CyANY_DELTA) { |
1340 | /* For statistics only */ | 1337 | /* For statistics only */ |
1341 | if (mdm_change & CyDCD) | 1338 | if (mdm_change & CyDCD) |
@@ -1389,10 +1386,10 @@ txend: | |||
1389 | } | 1386 | } |
1390 | } | 1387 | } |
1391 | } | 1388 | } |
1392 | if (mdm_change & CyDSR) { | 1389 | /* if (mdm_change & CyDSR) { |
1393 | } | 1390 | } |
1394 | if (mdm_change & CyRI) { | 1391 | if (mdm_change & CyRI) { |
1395 | } | 1392 | }*/ |
1396 | } | 1393 | } |
1397 | /* end of service */ | 1394 | /* end of service */ |
1398 | cy_writeb(base_addr + (CyMIR << index), (save_xir & 0x3f)); | 1395 | cy_writeb(base_addr + (CyMIR << index), (save_xir & 0x3f)); |
@@ -1408,14 +1405,14 @@ txend: | |||
1408 | static irqreturn_t cyy_interrupt(int irq, void *dev_id) | 1405 | static irqreturn_t cyy_interrupt(int irq, void *dev_id) |
1409 | { | 1406 | { |
1410 | int status; | 1407 | int status; |
1411 | struct cyclades_card *cinfo; | 1408 | struct cyclades_card *cinfo = dev_id; |
1412 | void __iomem *base_addr, *card_base_addr; | 1409 | void __iomem *base_addr, *card_base_addr; |
1413 | int chip; | 1410 | int chip; |
1414 | int index; | 1411 | int index; |
1415 | int too_many; | 1412 | int too_many; |
1416 | int had_work; | 1413 | int had_work; |
1417 | 1414 | ||
1418 | if ((cinfo = (struct cyclades_card *)dev_id) == 0) { | 1415 | if (unlikely(cinfo == NULL)) { |
1419 | #ifdef CY_DEBUG_INTERRUPTS | 1416 | #ifdef CY_DEBUG_INTERRUPTS |
1420 | printk(KERN_DEBUG "cyy_interrupt: spurious interrupt %d\n",irq); | 1417 | printk(KERN_DEBUG "cyy_interrupt: spurious interrupt %d\n",irq); |
1421 | #endif | 1418 | #endif |
@@ -1564,7 +1561,7 @@ cyz_handle_rx(struct cyclades_port *info, struct CH_CTRL __iomem *ch_ctrl, | |||
1564 | info->mon.char_max = char_count; | 1561 | info->mon.char_max = char_count; |
1565 | info->mon.char_last = char_count; | 1562 | info->mon.char_last = char_count; |
1566 | #endif | 1563 | #endif |
1567 | if (tty == 0) { | 1564 | if (tty == NULL) { |
1568 | /* flush received characters */ | 1565 | /* flush received characters */ |
1569 | new_rx_get = (new_rx_get + char_count) & | 1566 | new_rx_get = (new_rx_get + char_count) & |
1570 | (rx_bufsize - 1); | 1567 | (rx_bufsize - 1); |
@@ -1650,9 +1647,8 @@ cyz_handle_tx(struct cyclades_port *info, struct CH_CTRL __iomem *ch_ctrl, | |||
1650 | 1647 | ||
1651 | if (char_count) { | 1648 | if (char_count) { |
1652 | 1649 | ||
1653 | if (tty == 0) { | 1650 | if (tty == NULL) |
1654 | goto ztxdone; | 1651 | goto ztxdone; |
1655 | } | ||
1656 | 1652 | ||
1657 | if (info->x_char) { /* send special char */ | 1653 | if (info->x_char) { /* send special char */ |
1658 | data = info->x_char; | 1654 | data = info->x_char; |
@@ -1731,9 +1727,9 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo) | |||
1731 | special_count = 0; | 1727 | special_count = 0; |
1732 | delta_count = 0; | 1728 | delta_count = 0; |
1733 | info = &cy_port[channel + cinfo->first_line]; | 1729 | info = &cy_port[channel + cinfo->first_line]; |
1734 | if ((tty = info->tty) == 0) { | 1730 | if ((tty = info->tty) == NULL) |
1735 | continue; | 1731 | continue; |
1736 | } | 1732 | |
1737 | ch_ctrl = &(zfw_ctrl->ch_ctrl[channel]); | 1733 | ch_ctrl = &(zfw_ctrl->ch_ctrl[channel]); |
1738 | buf_ctrl = &(zfw_ctrl->buf_ctrl[channel]); | 1734 | buf_ctrl = &(zfw_ctrl->buf_ctrl[channel]); |
1739 | 1735 | ||
@@ -1822,16 +1818,16 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo) | |||
1822 | #ifdef CONFIG_CYZ_INTR | 1818 | #ifdef CONFIG_CYZ_INTR |
1823 | static irqreturn_t cyz_interrupt(int irq, void *dev_id) | 1819 | static irqreturn_t cyz_interrupt(int irq, void *dev_id) |
1824 | { | 1820 | { |
1825 | struct cyclades_card *cinfo; | 1821 | struct cyclades_card *cinfo = dev_id; |
1826 | 1822 | ||
1827 | if ((cinfo = (struct cyclades_card *)dev_id) == 0) { | 1823 | if (unlikely(cinfo == NULL)) { |
1828 | #ifdef CY_DEBUG_INTERRUPTS | 1824 | #ifdef CY_DEBUG_INTERRUPTS |
1829 | printk(KERN_DEBUG "cyz_interrupt: spurious interrupt %d\n",irq); | 1825 | printk(KERN_DEBUG "cyz_interrupt: spurious interrupt %d\n",irq); |
1830 | #endif | 1826 | #endif |
1831 | return IRQ_NONE; /* spurious interrupt */ | 1827 | return IRQ_NONE; /* spurious interrupt */ |
1832 | } | 1828 | } |
1833 | 1829 | ||
1834 | if (!ISZLOADED(*cinfo)) { | 1830 | if (unlikely(!ISZLOADED(*cinfo))) { |
1835 | #ifdef CY_DEBUG_INTERRUPTS | 1831 | #ifdef CY_DEBUG_INTERRUPTS |
1836 | printk(KERN_DEBUG "cyz_interrupt: board not yet loaded " | 1832 | printk(KERN_DEBUG "cyz_interrupt: board not yet loaded " |
1837 | "(IRQ%d).\n", irq); | 1833 | "(IRQ%d).\n", irq); |
@@ -2661,8 +2657,6 @@ static void cy_wait_until_sent(struct tty_struct *tty, int timeout) | |||
2661 | timeout)) | 2657 | timeout)) |
2662 | break; | 2658 | break; |
2663 | } | 2659 | } |
2664 | } else { | ||
2665 | /* Nothing to do! */ | ||
2666 | } | 2660 | } |
2667 | /* Run one more char cycle */ | 2661 | /* Run one more char cycle */ |
2668 | msleep_interruptible(jiffies_to_msecs(char_time * 5)); | 2662 | msleep_interruptible(jiffies_to_msecs(char_time * 5)); |
@@ -3857,8 +3851,6 @@ static int set_threshold(struct cyclades_port *info, unsigned long value) | |||
3857 | cy_writeb(base_addr + (CyCOR3 << index), info->cor3); | 3851 | cy_writeb(base_addr + (CyCOR3 << index), info->cor3); |
3858 | cyy_issue_cmd(base_addr, CyCOR_CHANGE | CyCOR3ch, index); | 3852 | cyy_issue_cmd(base_addr, CyCOR_CHANGE | CyCOR3ch, index); |
3859 | spin_unlock_irqrestore(&card->card_lock, flags); | 3853 | spin_unlock_irqrestore(&card->card_lock, flags); |
3860 | } else { | ||
3861 | /* Nothing to do! */ | ||
3862 | } | 3854 | } |
3863 | return 0; | 3855 | return 0; |
3864 | } /* set_threshold */ | 3856 | } /* set_threshold */ |
@@ -3881,10 +3873,8 @@ get_threshold(struct cyclades_port *info, unsigned long __user * value) | |||
3881 | 3873 | ||
3882 | tmp = readb(base_addr + (CyCOR3 << index)) & CyREC_FIFO; | 3874 | tmp = readb(base_addr + (CyCOR3 << index)) & CyREC_FIFO; |
3883 | return put_user(tmp, value); | 3875 | return put_user(tmp, value); |
3884 | } else { | ||
3885 | /* Nothing to do! */ | ||
3886 | return 0; | ||
3887 | } | 3876 | } |
3877 | return 0; | ||
3888 | } /* get_threshold */ | 3878 | } /* get_threshold */ |
3889 | 3879 | ||
3890 | static int | 3880 | static int |
@@ -3918,8 +3908,6 @@ static int set_timeout(struct cyclades_port *info, unsigned long value) | |||
3918 | spin_lock_irqsave(&card->card_lock, flags); | 3908 | spin_lock_irqsave(&card->card_lock, flags); |
3919 | cy_writeb(base_addr + (CyRTPR << index), value & 0xff); | 3909 | cy_writeb(base_addr + (CyRTPR << index), value & 0xff); |
3920 | spin_unlock_irqrestore(&card->card_lock, flags); | 3910 | spin_unlock_irqrestore(&card->card_lock, flags); |
3921 | } else { | ||
3922 | /* Nothing to do! */ | ||
3923 | } | 3911 | } |
3924 | return 0; | 3912 | return 0; |
3925 | } /* set_timeout */ | 3913 | } /* set_timeout */ |
@@ -3941,10 +3929,8 @@ static int get_timeout(struct cyclades_port *info, unsigned long __user * value) | |||
3941 | 3929 | ||
3942 | tmp = readb(base_addr + (CyRTPR << index)); | 3930 | tmp = readb(base_addr + (CyRTPR << index)); |
3943 | return put_user(tmp, value); | 3931 | return put_user(tmp, value); |
3944 | } else { | ||
3945 | /* Nothing to do! */ | ||
3946 | return 0; | ||
3947 | } | 3932 | } |
3933 | return 0; | ||
3948 | } /* get_timeout */ | 3934 | } /* get_timeout */ |
3949 | 3935 | ||
3950 | static int set_default_timeout(struct cyclades_port *info, unsigned long value) | 3936 | static int set_default_timeout(struct cyclades_port *info, unsigned long value) |
@@ -4348,8 +4334,6 @@ static void cy_stop(struct tty_struct *tty) | |||
4348 | cy_writeb(base_addr + (CySRER << index), | 4334 | cy_writeb(base_addr + (CySRER << index), |
4349 | readb(base_addr + (CySRER << index)) & ~CyTxRdy); | 4335 | readb(base_addr + (CySRER << index)) & ~CyTxRdy); |
4350 | spin_unlock_irqrestore(&cinfo->card_lock, flags); | 4336 | spin_unlock_irqrestore(&cinfo->card_lock, flags); |
4351 | } else { | ||
4352 | /* Nothing to do! */ | ||
4353 | } | 4337 | } |
4354 | } /* cy_stop */ | 4338 | } /* cy_stop */ |
4355 | 4339 | ||
@@ -4381,8 +4365,6 @@ static void cy_start(struct tty_struct *tty) | |||
4381 | cy_writeb(base_addr + (CySRER << index), | 4365 | cy_writeb(base_addr + (CySRER << index), |
4382 | readb(base_addr + (CySRER << index)) | CyTxRdy); | 4366 | readb(base_addr + (CySRER << index)) | CyTxRdy); |
4383 | spin_unlock_irqrestore(&cinfo->card_lock, flags); | 4367 | spin_unlock_irqrestore(&cinfo->card_lock, flags); |
4384 | } else { | ||
4385 | /* Nothing to do! */ | ||
4386 | } | 4368 | } |
4387 | } /* cy_start */ | 4369 | } /* cy_start */ |
4388 | 4370 | ||
@@ -4694,7 +4676,7 @@ static int __init cy_detect_isa(void) | |||
4694 | } | 4676 | } |
4695 | /* fill the next cy_card structure available */ | 4677 | /* fill the next cy_card structure available */ |
4696 | for (j = 0; j < NR_CARDS; j++) { | 4678 | for (j = 0; j < NR_CARDS; j++) { |
4697 | if (cy_card[j].base_addr == 0) | 4679 | if (cy_card[j].base_addr == NULL) |
4698 | break; | 4680 | break; |
4699 | } | 4681 | } |
4700 | if (j == NR_CARDS) { /* no more cy_cards available */ | 4682 | 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, | |||
4779 | 4761 | ||
4780 | /* fill the next cy_card structure available */ | 4762 | /* fill the next cy_card structure available */ |
4781 | for (j = 0; j < NR_CARDS; j++) { | 4763 | for (j = 0; j < NR_CARDS; j++) { |
4782 | if (cy_card[j].base_addr == 0) | 4764 | if (cy_card[j].base_addr == NULL) |
4783 | break; | 4765 | break; |
4784 | } | 4766 | } |
4785 | if (j == NR_CARDS) { /* no more cy_cards available */ | 4767 | if (j == NR_CARDS) { /* no more cy_cards available */ |
@@ -4889,7 +4871,7 @@ static int __devinit cy_pci_probe(struct pci_dev *pdev, | |||
4889 | } | 4871 | } |
4890 | /* fill the next cy_card structure available */ | 4872 | /* fill the next cy_card structure available */ |
4891 | for (j = 0; j < NR_CARDS; j++) { | 4873 | for (j = 0; j < NR_CARDS; j++) { |
4892 | if (cy_card[j].base_addr == 0) | 4874 | if (cy_card[j].base_addr == NULL) |
4893 | break; | 4875 | break; |
4894 | } | 4876 | } |
4895 | if (j == NR_CARDS) { /* no more cy_cards available */ | 4877 | if (j == NR_CARDS) { /* no more cy_cards available */ |
@@ -5039,7 +5021,7 @@ static int __devinit cy_pci_probe(struct pci_dev *pdev, | |||
5039 | 5021 | ||
5040 | /* fill the next cy_card structure available */ | 5022 | /* fill the next cy_card structure available */ |
5041 | for (j = 0; j < NR_CARDS; j++) { | 5023 | for (j = 0; j < NR_CARDS; j++) { |
5042 | if (cy_card[j].base_addr == 0) | 5024 | if (cy_card[j].base_addr == NULL) |
5043 | break; | 5025 | break; |
5044 | } | 5026 | } |
5045 | if (j == NR_CARDS) { /* no more cy_cards available */ | 5027 | if (j == NR_CARDS) { /* no more cy_cards available */ |