diff options
-rw-r--r-- | drivers/staging/cxt1e1/linux.c | 72 | ||||
-rw-r--r-- | drivers/staging/cxt1e1/musycc.c | 2 | ||||
-rw-r--r-- | drivers/staging/cxt1e1/pmcc4_drv.c | 30 |
3 files changed, 45 insertions, 59 deletions
diff --git a/drivers/staging/cxt1e1/linux.c b/drivers/staging/cxt1e1/linux.c index e0173f411b07..b02f5ade6661 100644 --- a/drivers/staging/cxt1e1/linux.c +++ b/drivers/staging/cxt1e1/linux.c @@ -145,16 +145,6 @@ get_hdlc_name(hdlc_device *hdlc) return dev->name; } - -static status_t -mkret(int bsd) -{ - if (bsd > 0) - return -bsd; - else - return bsd; -} - /***************************************************************************/ #include <linux/workqueue.h> @@ -290,8 +280,8 @@ chan_open(struct net_device *ndev) } ret = c4_chan_up(priv->ci, priv->channum); - if (ret) - return -ret; + if (ret < 0) + return ret; try_module_get(THIS_MODULE); netif_start_queue(ndev); return 0; /* no error = success */ @@ -521,8 +511,8 @@ do_get_port(struct net_device *ndev, void *data) if (!ci) return -EINVAL; /* get card info */ - ret = mkret(c4_get_port(ci, pp.portnum)); - if (ret) + ret = c4_get_port(ci, pp.portnum); + if (ret < 0) return ret; if (copy_to_user(data, &ci->port[pp.portnum].p, sizeof(struct sbecom_port_param))) @@ -549,7 +539,7 @@ do_set_port(struct net_device *ndev, void *data) return -ENXIO; memcpy(&ci->port[pp.portnum].p, &pp, sizeof(struct sbecom_port_param)); - return mkret(c4_set_port(ci, pp.portnum)); + return c4_set_port(ci, pp.portnum); } /* work the port loopback mode as per directed */ @@ -564,7 +554,7 @@ do_port_loop(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - return mkret(c4_loop_port(ci, pp.portnum, pp.port_mode)); + return c4_loop_port(ci, pp.portnum, pp.port_mode); } /* set the specified register with the given value / or just read it */ @@ -580,8 +570,8 @@ do_framer_rw(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - ret = mkret(c4_frame_rw(ci, &pp)); - if (ret) + ret = c4_frame_rw(ci, &pp); + if (ret < 0) return ret; if (copy_to_user(data, &pp, sizeof(struct sbecom_port_param))) return -EFAULT; @@ -601,7 +591,8 @@ do_pld_rw(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - ret = mkret(c4_pld_rw(ci, &pp)); + + ret = c4_pld_rw(ci, &pp); if (ret) return ret; if (copy_to_user(data, &pp, sizeof(struct sbecom_port_param))) @@ -622,8 +613,8 @@ do_musycc_rw(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - ret = mkret(c4_musycc_rw(ci, &mp)); - if (ret) + ret = c4_musycc_rw(ci, &mp); + if (ret < 0) return ret; if (copy_to_user(data, &mp, sizeof(struct c4_musycc_param))) return -EFAULT; @@ -640,8 +631,8 @@ do_get_chan(struct net_device *ndev, void *data) sizeof(struct sbecom_chan_param))) return -EFAULT; - ret = mkret(c4_get_chan(cp.channum, &cp)); - if (ret) + ret = c4_get_chan(cp.channum, &cp); + if (ret < 0) return ret; if (copy_to_user(data, &cp, sizeof(struct sbecom_chan_param))) @@ -653,7 +644,6 @@ static status_t do_set_chan(struct net_device *ndev, void *data) { struct sbecom_chan_param cp; - int ret; ci_t *ci; if (copy_from_user(&cp, data, sizeof(struct sbecom_chan_param))) @@ -661,13 +651,7 @@ do_set_chan(struct net_device *ndev, void *data) ci = get_ci_by_dev(ndev); if (!ci) return -EINVAL; - switch (ret = mkret(c4_set_chan(cp.channum, &cp))) - { - case 0: - return 0; - default: - return ret; - } + return c4_set_chan(cp.channum, &cp); } static status_t @@ -686,8 +670,8 @@ do_create_chan(struct net_device *ndev, void *data) dev = create_chan(ndev, ci, &cp); if (!dev) return -EBUSY; - ret = mkret(c4_new_chan(ci, cp.port, cp.channum, dev)); - if (ret) { + ret = c4_new_chan(ci, cp.port, cp.channum, dev); + if (ret < 0) { /* needed due to Ioctl calling sequence */ rtnl_unlock(); unregister_hdlc_device(dev); @@ -707,13 +691,11 @@ do_get_chan_stats(struct net_device *ndev, void *data) if (copy_from_user(&ccs, data, sizeof(struct c4_chan_stats_wrap))) return -EFAULT; - switch (ret = mkret(c4_get_chan_stats(ccs.channum, &ccs.stats))) - { - case 0: - break; - default: + + ret = c4_get_chan_stats(ccs.channum, &ccs.stats); + if (ret < 0) return ret; - } + if (copy_to_user(data, &ccs, sizeof(struct c4_chan_stats_wrap))) return -EFAULT; @@ -821,7 +803,7 @@ do_reset_chan_stats(struct net_device *musycc_dev, void *data) if (copy_from_user(&cp, data, sizeof(struct sbecom_chan_param))) return -EFAULT; - return mkret(c4_del_chan_stats(cp.channum)); + return c4_del_chan_stats(cp.channum); } static status_t @@ -931,7 +913,7 @@ c4_ioctl(struct net_device *ndev, struct ifreq *ifr, int cmd) ret = -EINVAL; break; } - return mkret(ret); + return ret; } static const struct net_device_ops c4_ops = { @@ -957,7 +939,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1, if (!ndev) { pr_warning("%s: no memory for struct net_device !\n", hi->devname); - error_flag = ENOMEM; + error_flag = -ENOMEM; return NULL; } ci = (ci_t *)(netdev_priv(ndev)); @@ -992,7 +974,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1, (c4_init(ci, (u_char *) f0, (u_char *) f1) != SBE_DRVR_SUCCESS)) { OS_kfree(netdev_priv(ndev)); OS_kfree(ndev); - error_flag = ENODEV; + error_flag = -ENODEV; return NULL; } /************************************************************* @@ -1018,7 +1000,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1, unregister_netdev(ndev); OS_kfree(netdev_priv(ndev)); OS_kfree(ndev); - error_flag = EIO; + error_flag = -EIO; return NULL; } #ifdef CONFIG_SBE_PMCC4_NCOMM @@ -1028,7 +1010,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1, free_irq(irq0, ndev); OS_kfree(netdev_priv(ndev)); OS_kfree(ndev); - error_flag = EIO; + error_flag = -EIO; return NULL; } #endif diff --git a/drivers/staging/cxt1e1/musycc.c b/drivers/staging/cxt1e1/musycc.c index 4b3aaafc10a4..c1bdfc4f9e4b 100644 --- a/drivers/staging/cxt1e1/musycc.c +++ b/drivers/staging/cxt1e1/musycc.c @@ -1550,7 +1550,7 @@ musycc_chan_down(ci_t *dummy, int channum) ch = sd_find_chan(dummy, channum); if (!ch) - return EINVAL; + return -EINVAL; pi = ch->up; gchan = ch->gchan; diff --git a/drivers/staging/cxt1e1/pmcc4_drv.c b/drivers/staging/cxt1e1/pmcc4_drv.c index 71702dbc98da..621a72926475 100644 --- a/drivers/staging/cxt1e1/pmcc4_drv.c +++ b/drivers/staging/cxt1e1/pmcc4_drv.c @@ -757,7 +757,7 @@ c4_frame_rw (ci_t *ci, struct sbecom_port_param *pp) volatile u_int32_t data; if (pp->portnum >= ci->max_port)/* sanity check */ - return ENXIO; + return -ENXIO; comet = ci->port[pp->portnum].cometbase; data = pci_read_32 ((u_int32_t *) comet + pp->port_mode) & 0xff; @@ -846,7 +846,7 @@ c4_musycc_rw (ci_t *ci, struct c4_musycc_param *mcp) */ portnum = (mcp->offset % 0x6000) / 0x800; if (portnum >= ci->max_port) - return ENXIO; + return -ENXIO; pi = &ci->port[portnum]; if (mcp->offset >= 0x6000) offset += 0x6000; /* put back in MsgCfgDesc address offset */ @@ -895,7 +895,7 @@ status_t c4_get_port (ci_t *ci, int portnum) { if (portnum >= ci->max_port) /* sanity check */ - return ENXIO; + return -ENXIO; SD_SEM_TAKE (&ci->sem_wdbusy, "_wd_"); /* only 1 thru here, per * board */ @@ -916,7 +916,7 @@ c4_set_port (ci_t *ci, int portnum) int i; if (portnum >= ci->max_port) /* sanity check */ - return ENXIO; + return -ENXIO; pi = &ci->port[portnum]; pp = &ci->port[portnum].p; @@ -928,7 +928,7 @@ c4_set_port (ci_t *ci, int portnum) portnum, e1mode, pi->openchans); } if (pi->openchans) - return EBUSY; /* group needs initialization only for + return -EBUSY; /* group needs initialization only for * first channel of a group */ { @@ -1019,10 +1019,10 @@ c4_new_chan (ci_t *ci, int portnum, int channum, void *user) int gchan; if (c4_find_chan (channum)) /* a new channel shouldn't already exist */ - return EEXIST; + return -EEXIST; if (portnum >= ci->max_port) /* sanity check */ - return ENXIO; + return -ENXIO; pi = &(ci->port[portnum]); /* find any available channel within this port */ @@ -1033,7 +1033,7 @@ c4_new_chan (ci_t *ci, int portnum, int channum, void *user) break; } if (gchan == MUSYCC_NCHANS) /* exhausted table, all were assigned */ - return ENFILE; + return -ENFILE; ch->up = pi; @@ -1084,6 +1084,7 @@ c4_del_chan (int channum) ch = c4_find_chan(channum); if (!ch) return -ENOENT; + if (ch->state == UP) musycc_chan_down ((ci_t *) 0, channum); ch->state = UNASSIGNED; @@ -1121,12 +1122,12 @@ c4_set_chan (int channum, struct sbecom_chan_param *p) if (ch->p.card != p->card || ch->p.port != p->port || ch->p.channum != p->channum) - return EINVAL; + return -EINVAL; #endif if (!(ch->up->group_is_set)) { - return EIO; /* out of order, SET_PORT command + return -EIO; /* out of order, SET_PORT command * required prior to first group's * SET_CHAN command */ } @@ -1169,6 +1170,7 @@ c4_get_chan (int channum, struct sbecom_chan_param *p) ch = c4_find_chan(channum); if (!ch) return -ENOENT; + *p = ch->p; return 0; } @@ -1181,6 +1183,7 @@ c4_get_chan_stats (int channum, struct sbecom_chan_stats *p) ch = c4_find_chan(channum); if (!ch) return -ENOENT; + *p = ch->s; p->tx_pending = atomic_read (&ch->tx_pending); return 0; @@ -1252,6 +1255,7 @@ c4_chan_up (ci_t *ci, int channum) ch = c4_find_chan(channum); if (!ch) return -ENOENT; + if (ch->state == UP) { if (cxt1e1_log_level >= LOG_MONITOR) @@ -1274,7 +1278,7 @@ c4_chan_up (ci_t *ci, int channum) pr_info("+ ask4 %x, currently %x\n", ch->p.bitmask[i], pi->tsm[i]); } - return EINVAL; + return -EINVAL; } for (j = 0; j < 8; j++) if (ch->p.bitmask[i] & (1 << j)) @@ -1287,7 +1291,7 @@ c4_chan_up (ci_t *ci, int channum) /* if( cxt1e1_log_level >= LOG_WARN) */ pr_info("%s: c4_chan_up[%d] ENOBUFS (no TimeSlots assigned)\n", ci->devname, channum); - return ENOBUFS; /* this should not happen */ + return -ENOBUFS; /* this should not happen */ } addr = c4_fifo_alloc (pi, gchan, &nbuf); ch->state = UP; @@ -1465,7 +1469,7 @@ errfree: ch->mdr = NULL; ch->rxd_num = 0; ch->state = DOWN; - return ENOBUFS; + return -ENOBUFS; } /* stop the hardware from servicing & interrupting */ |