return dev->name;
}
-
-static status_t
-mkret(int bsd)
-{
- if (bsd > 0)
- return -bsd;
- else
- return bsd;
-}
-
/***************************************************************************/
#include <linux/workqueue.h>
}
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 */
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)))
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 */
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 */
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;
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)))
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;
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)))
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)))
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
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);
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;
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
ret = -EINVAL;
break;
}
- return mkret(ret);
+ return ret;
}
static const struct net_device_ops c4_ops = {
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));
(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;
}
/*************************************************************
unregister_netdev(ndev);
OS_kfree(netdev_priv(ndev));
OS_kfree(ndev);
- error_flag = EIO;
+ error_flag = -EIO;
return NULL;
}
#ifdef CONFIG_SBE_PMCC4_NCOMM
free_irq(irq0, ndev);
OS_kfree(netdev_priv(ndev));
OS_kfree(ndev);
- error_flag = EIO;
+ error_flag = -EIO;
return NULL;
}
#endif
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;
*/
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 */
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 */
int i;
if (portnum >= ci->max_port) /* sanity check */
- return ENXIO;
+ return -ENXIO;
pi = &ci->port[portnum];
pp = &ci->port[portnum].p;
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 */
{
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 */
break;
}
if (gchan == MUSYCC_NCHANS) /* exhausted table, all were assigned */
- return ENFILE;
+ return -ENFILE;
ch->up = pi;
ch = c4_find_chan(channum);
if (!ch)
return -ENOENT;
+
if (ch->state == UP)
musycc_chan_down ((ci_t *) 0, channum);
ch->state = UNASSIGNED;
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 */
}
ch = c4_find_chan(channum);
if (!ch)
return -ENOENT;
+
*p = ch->p;
return 0;
}
ch = c4_find_chan(channum);
if (!ch)
return -ENOENT;
+
*p = ch->s;
p->tx_pending = atomic_read (&ch->tx_pending);
return 0;
ch = c4_find_chan(channum);
if (!ch)
return -ENOENT;
+
if (ch->state == UP)
{
if (cxt1e1_log_level >= LOG_MONITOR)
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))
/* 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;
ch->mdr = NULL;
ch->rxd_num = 0;
ch->state = DOWN;
- return ENOBUFS;
+ return -ENOBUFS;
}
/* stop the hardware from servicing & interrupting */