MODULE_AUTHOR("Oliver Hartkopp <oliver.hartkopp@volkswagen.de>");
#ifdef CONFIG_CAN_DEBUG_DEVICES
-static int debug = 0;
+static int debug;
module_param(debug, int, S_IRUGO);
#define DBG(args...) (debug & 1 ? \
(printk(KERN_DEBUG "slcan %s: ", __func__), \
* STANDARD SLCAN DECAPSULATION *
************************************************************************/
-static int asc2nibble(char c) {
+static int asc2nibble(char c)
+{
if ((c >= '0') && (c <= '9'))
return c - '0';
*(u64 *) (&cf.data) = 0; /* clear payload */
- for (i = 0, dlc_pos++; i < cf.can_dlc; i++){
+ for (i = 0, dlc_pos++; i < cf.can_dlc; i++) {
- if ((tmp = asc2nibble(sl->rbuff[dlc_pos++])) > 0x0F)
+ tmp = asc2nibble(sl->rbuff[dlc_pos++]);
+ if (tmp > 0x0F)
return;
cf.data[i] = (tmp << 4);
- if ((tmp = asc2nibble(sl->rbuff[dlc_pos++])) > 0x0F)
+ tmp = asc2nibble(sl->rbuff[dlc_pos++]);
+ if (tmp > 0x0F)
return;
cf.data[i] |= tmp;
}
struct net_device_stats *stats = sl->dev->get_stats(sl->dev);
/* First make sure we're connected. */
- if (!sl || sl->magic != SLCAN_MAGIC || !netif_running(sl->dev)) {
+ if (!sl || sl->magic != SLCAN_MAGIC || !netif_running(sl->dev))
return;
- }
+
if (sl->xleft <= 0) {
/* Now serial buffer is almost free & we can start
* transmission of another packet */
{
struct slcan *sl = netdev_priv(dev);
- if (sl->tty==NULL)
+ if (sl->tty == NULL)
return -ENODEV;
sl->flags &= (1 << SLF_INUSE);
/* Read the characters out of the buffer */
while (count--) {
if (fp && *fp++) {
- if (!test_and_set_bit(SLF_ERROR, &sl->flags)) {
+ if (!test_and_set_bit(SLF_ERROR, &sl->flags))
stats->rx_errors++;
- }
cp++;
continue;
}
struct slcan *sl;
for (i = 0; i < maxdev; i++) {
- if ((dev = slcan_devs[i]) == NULL)
+ dev = slcan_devs[i];
+ if (dev == NULL)
break;
sl = netdev_priv(dev);
struct slcan *sl;
int err;
- if(!capable(CAP_NET_ADMIN))
+ if (!capable(CAP_NET_ADMIN))
return -EPERM;
/* RTnetlink lock is misused here to serialize concurrent
/* OK. Find a free SLCAN channel to use. */
err = -ENFILE;
- if ((sl = slc_alloc(tty_devnum(tty))) == NULL)
+ sl = slc_alloc(tty_devnum(tty));
+ if (sl == NULL)
goto err_exit;
sl->tty = tty;
set_bit(SLF_INUSE, &sl->flags);
- if ((err = register_netdevice(sl->dev)))
+ err = register_netdevice(sl->dev);
+ if (err)
goto err_free_chan;
}
unsigned int tmp;
/* First make sure we're connected. */
- if (!sl || sl->magic != SLCAN_MAGIC) {
+ if (!sl || sl->magic != SLCAN_MAGIC)
return -EINVAL;
- }
- switch(cmd) {
+ switch (cmd) {
case SIOCGIFNAME:
tmp = strlen(sl->dev->name) + 1;
if (copy_to_user((void __user *)arg, sl->dev->name, tmp))
maxdev = 4; /* Sanity */
printk(banner);
- printk(KERN_INFO "slcan: %d dynamic interface channels.\n", maxdev );
+ printk(KERN_INFO "slcan: %d dynamic interface channels.\n", maxdev);
slcan_devs = kmalloc(sizeof(struct net_device *)*maxdev, GFP_KERNEL);
if (!slcan_devs) {
memset(slcan_devs, 0, sizeof(struct net_device *)*maxdev);
/* Fill in our line protocol discipline, and register it */
- if ((status = tty_register_ldisc(N_SLCAN, &slc_ldisc)) != 0) {
+ status = tty_register_ldisc(N_SLCAN, &slc_ldisc);
+ if (status != 0) {
printk(KERN_ERR "slcan: can't register line discipline\n");
kfree(slcan_devs);
}
kfree(slcan_devs);
slcan_devs = NULL;
- if ((i = tty_unregister_ldisc(N_SLCAN)))
- {
+ i = tty_unregister_ldisc(N_SLCAN);
+ if (i)
printk(KERN_ERR "slcan: can't unregister ldisc (err %d)\n", i);
- }
}
module_init(slcan_init);