Re: [PATCH v3 07/13] can: slcan: set bitrate by CAN device driver API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12.06.2022 23:39:21, Dario Binacchi wrote:
> It allows to set the bitrate via ip tool, as it happens for the other
> CAN device drivers. It still remains possible to set the bitrate via
> slcand or slcan_attach utilities. In case the ip tool is used, the
> driver will send the serial command to the adapter.
> 
> Signed-off-by: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx>
> 
> ---
> 
> Changes in v3:
> - Remove the slc_do_set_bittiming().
> - Set the bitrate in the ndo_open().
> - Replace -1UL with -1U in setting a fake value for the bitrate.
> 
> Changes in v2:
> - Use the CAN framework support for setting fixed bit rates.
> 
>  drivers/net/can/slcan.c | 39 ++++++++++++++++++++++++++++++++++++---
>  1 file changed, 36 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/can/slcan.c b/drivers/net/can/slcan.c
> index 4639a63c3af8..be3f7e5c685b 100644
> --- a/drivers/net/can/slcan.c
> +++ b/drivers/net/can/slcan.c
> @@ -105,6 +105,11 @@ struct slcan {
>  static struct net_device **slcan_devs;
>  static DEFINE_SPINLOCK(slcan_lock);
>  
> +static const u32 slcan_bitrate_const[] = {
> +	10000, 20000, 50000, 100000, 125000,
> +	250000, 500000, 800000, 1000000
> +};
> +
>   /************************************************************************
>    *			SLCAN ENCAPSULATION FORMAT			 *
>    ************************************************************************/
> @@ -440,6 +445,7 @@ static int slc_close(struct net_device *dev)
>  	netif_stop_queue(dev);
>  	close_candev(dev);
>  	sl->can.state = CAN_STATE_STOPPED;
> +	sl->can.bittiming.bitrate = 0;

If the bitrate is configured, please keep that value.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux