[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220613071722.agougqdrxpwjk2ox@pengutronix.de>
Date: Mon, 13 Jun 2022 09:17:22 +0200
From: Marc Kleine-Budde <mkl@...gutronix.de>
To: Dario Binacchi <dario.binacchi@...rulasolutions.com>
Cc: linux-kernel@...r.kernel.org, michael@...rulasolutions.com,
Amarula patchwork <linux-amarula@...rulasolutions.com>,
Oliver Hartkopp <socketcan@...tkopp.net>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Wolfgang Grandegger <wg@...ndegger.com>,
linux-can@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH v3 07/13] can: slcan: set bitrate by CAN device driver API
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@...rulasolutions.com>
>
> ---
>
> 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 |
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists