aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2011-11-09 05:50:49 -0500
committerDavid S. Miller <davem@davemloft.net>2011-11-14 00:51:22 -0500
commit452448f9283e1939408b397e87974a418825b0a8 (patch)
tree8c4a3f41eff61985f1afc53149ad10538e3df3ea /drivers
parent8b5c171bb3dc0686b2647a84e990199c5faa9ef8 (diff)
net/can/mscan: add listen only mode
This patch adds listen only mode to the mscan controller. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/can/mscan/mscan.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/can/mscan/mscan.c b/drivers/net/can/mscan/mscan.c
index ec4a3119e2c9..74f3b1829e02 100644
--- a/drivers/net/can/mscan/mscan.c
+++ b/drivers/net/can/mscan/mscan.c
@@ -581,7 +581,10 @@ static int mscan_open(struct net_device *dev)
581 581
582 priv->open_time = jiffies; 582 priv->open_time = jiffies;
583 583
584 clrbits8(&regs->canctl1, MSCAN_LISTEN); 584 if (ctrlmode.flags & CAN_CTRLMODE_LISTENONLY)
585 setbits8(&regs->canctl1, MSCAN_LISTEN);
586 else
587 clrbits8(&regs->canctl1, MSCAN_LISTEN);
585 588
586 ret = mscan_start(dev); 589 ret = mscan_start(dev);
587 if (ret) 590 if (ret)
@@ -690,7 +693,8 @@ struct net_device *alloc_mscandev(void)
690 priv->can.bittiming_const = &mscan_bittiming_const; 693 priv->can.bittiming_const = &mscan_bittiming_const;
691 priv->can.do_set_bittiming = mscan_do_set_bittiming; 694 priv->can.do_set_bittiming = mscan_do_set_bittiming;
692 priv->can.do_set_mode = mscan_do_set_mode; 695 priv->can.do_set_mode = mscan_do_set_mode;
693 priv->can.ctrlmode_supported = CAN_CTRLMODE_3_SAMPLES; 696 priv->can.ctrlmode_supported = CAN_CTRLMODE_3_SAMPLES |
697 CAN_CTRLMODE_LISTENONLY;
694 698
695 for (i = 0; i < TX_QUEUE_SIZE; i++) { 699 for (i = 0; i < TX_QUEUE_SIZE; i++) {
696 priv->tx_queue[i].id = i; 700 priv->tx_queue[i].id = i;