diff options
| author | Yoann DI RUZZA <ydiruzza@gmail.com> | 2014-02-11 03:46:59 -0500 |
|---|---|---|
| committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2014-02-11 03:55:44 -0500 |
| commit | 17a50ee4bd47bdba94546e0526fc9ce93dc77d5e (patch) | |
| tree | 343cdbc1e42d7f6fc252f371c0bf006dafcf6d0e | |
| parent | b18ec27c6502b79e22d5b51ae66e81d683ae686c (diff) | |
can: at91_can: add listen only mode
This patch adds listen only mode support to the at91_can driver.
Signed-off-by: Yoann DI-RUZZA <ydiruzza@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| -rw-r--r-- | drivers/net/can/at91_can.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/can/at91_can.c b/drivers/net/can/at91_can.c index 6efe27458116..1d00b95f8983 100644 --- a/drivers/net/can/at91_can.c +++ b/drivers/net/can/at91_can.c | |||
| @@ -420,7 +420,11 @@ static void at91_chip_start(struct net_device *dev) | |||
| 420 | at91_transceiver_switch(priv, 1); | 420 | at91_transceiver_switch(priv, 1); |
| 421 | 421 | ||
| 422 | /* enable chip */ | 422 | /* enable chip */ |
| 423 | at91_write(priv, AT91_MR, AT91_MR_CANEN); | 423 | if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) |
| 424 | reg_mr = AT91_MR_CANEN | AT91_MR_ABM; | ||
| 425 | else | ||
| 426 | reg_mr = AT91_MR_CANEN; | ||
| 427 | at91_write(priv, AT91_MR, reg_mr); | ||
| 424 | 428 | ||
| 425 | priv->can.state = CAN_STATE_ERROR_ACTIVE; | 429 | priv->can.state = CAN_STATE_ERROR_ACTIVE; |
| 426 | 430 | ||
| @@ -1341,7 +1345,8 @@ static int at91_can_probe(struct platform_device *pdev) | |||
| 1341 | priv->can.bittiming_const = &at91_bittiming_const; | 1345 | priv->can.bittiming_const = &at91_bittiming_const; |
| 1342 | priv->can.do_set_mode = at91_set_mode; | 1346 | priv->can.do_set_mode = at91_set_mode; |
| 1343 | priv->can.do_get_berr_counter = at91_get_berr_counter; | 1347 | priv->can.do_get_berr_counter = at91_get_berr_counter; |
| 1344 | priv->can.ctrlmode_supported = CAN_CTRLMODE_3_SAMPLES; | 1348 | priv->can.ctrlmode_supported = CAN_CTRLMODE_3_SAMPLES | |
| 1349 | CAN_CTRLMODE_LISTENONLY; | ||
| 1345 | priv->dev = dev; | 1350 | priv->dev = dev; |
| 1346 | priv->reg_base = addr; | 1351 | priv->reg_base = addr; |
| 1347 | priv->devtype_data = *devtype_data; | 1352 | priv->devtype_data = *devtype_data; |
